﻿using System;
using System.Collections;
using SharpSqlAnalyzer.stmt;
using SharpSqlAnalyzer.stmt.db2;
using SharpSqlAnalyzer.stmt.hive;
using SharpSqlAnalyzer.stmt.informix;
using SharpSqlAnalyzer.stmt.mdx;
using SharpSqlAnalyzer.stmt.mssql;
using SharpSqlAnalyzer.stmt.mysql;
using SharpSqlAnalyzer.stmt.netezza;
using SharpSqlAnalyzer.stmt.oracle;
using SharpSqlAnalyzer.stmt.postgresql;
using SharpSqlAnalyzer.stmt.redshift;
using SharpSqlAnalyzer.stmt.snowflake;
using SharpSqlAnalyzer.stmt.sybase;
using SharpSqlAnalyzer.stmt.teradata;

namespace SharpSqlAnalyzer
{
	// Token: 0x0200006B RID: 107
	internal class TSqlCmds
	{
		// Token: 0x06000263 RID: 611 RVA: 0x002DA9E8 File Offset: 0x002D8BE8
		public TSqlCmds()
		{
			this.mssqlcmds = new ArrayList();
			this.sybasecmds = new ArrayList();
			this.oraclecmds = new ArrayList();
			this.db2cmds = new ArrayList();
			this.mysqlcmds = new ArrayList();
			this.accesscmds = new ArrayList();
			this.mdxcmds = new ArrayList();
			this.teradatacmds = new ArrayList();
			this.postgresqlcmds = new ArrayList();
			this.netezzacmds = new ArrayList();
			this.informixcmds = new ArrayList();
			this.hivecmds = new ArrayList();
			this.greenplumcmds = new ArrayList();
			this.redshiftcmds = new ArrayList();
			this.snowflakecmds = new ArrayList();
		}

		// Token: 0x06000264 RID: 612 RVA: 0x002DAAA0 File Offset: 0x002D8CA0
		internal virtual void addcmds(EDbVendor dbVendor, ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			TSqlCmds.TSqlCmd tsqlCmd = new TSqlCmds.TSqlCmd(this);
			tsqlCmd.sqlstatementtype = psqlstatementtype;
			tsqlCmd.token1 = ptoken1;
			tsqlCmd.token2 = ptoken2;
			tsqlCmd.token3 = ptoken3;
			tsqlCmd.token4 = ptoken4;
			tsqlCmd.token5 = ptoken5;
			tsqlCmd.token6 = ptoken6;
			tsqlCmd.token7 = ptoken7;
			switch (dbVendor)
			{
			case EDbVendor.dbvdb2:
				this.db2cmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvfirebird:
			case EDbVendor.dbvgeneric:
			case EDbVendor.dbvodbc:
				break;
			case EDbVendor.dbvgreenplum:
				this.greenplumcmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvhive:
				this.hivecmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvimpala:
				this.hivecmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvinformix:
				this.informixcmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvmdx:
				this.mdxcmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvmysql:
				this.mysqlcmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvmssql:
				this.mssqlcmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvnetezza:
				this.netezzacmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvoracle:
				this.oraclecmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvpostgresql:
				this.postgresqlcmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvredshift:
				this.redshiftcmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvsybase:
				this.sybasecmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvteradata:
				this.teradatacmds.Add(tsqlCmd);
				return;
			case EDbVendor.dbvsnowflake:
				this.snowflakecmds.Add(tsqlCmd);
				break;
			default:
				return;
			}
		}

		// Token: 0x06000265 RID: 613 RVA: 0x002DAC14 File Offset: 0x002D8E14
		internal virtual void addmssqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvmssql, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000266 RID: 614 RVA: 0x002DAC38 File Offset: 0x002D8E38
		internal virtual void addsybasecmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvsybase, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000267 RID: 615 RVA: 0x002DAC5C File Offset: 0x002D8E5C
		internal virtual void addpostgresqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvpostgresql, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000268 RID: 616 RVA: 0x002DAC80 File Offset: 0x002D8E80
		internal virtual void addredshiftcmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvredshift, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000269 RID: 617 RVA: 0x002DACA4 File Offset: 0x002D8EA4
		internal virtual void addsnowflakecmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvsnowflake, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x0600026A RID: 618 RVA: 0x002DACC8 File Offset: 0x002D8EC8
		internal virtual void addnetezzacmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvnetezza, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x0600026B RID: 619 RVA: 0x002DACEC File Offset: 0x002D8EEC
		internal virtual void addoraclecmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvoracle, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x0600026C RID: 620 RVA: 0x002DAD10 File Offset: 0x002D8F10
		internal virtual void addhivecmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvhive, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x0600026D RID: 621 RVA: 0x002DAD34 File Offset: 0x002D8F34
		internal virtual void addmysqlcmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvmysql, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x0600026E RID: 622 RVA: 0x002DAD58 File Offset: 0x002D8F58
		internal virtual void adddb2cmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvdb2, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x0600026F RID: 623 RVA: 0x002DAD7C File Offset: 0x002D8F7C
		internal virtual void addmdxcmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvmdx, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000270 RID: 624 RVA: 0x002DADA0 File Offset: 0x002D8FA0
		internal virtual void addteradatacmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvteradata, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000271 RID: 625 RVA: 0x002DADC4 File Offset: 0x002D8FC4
		internal virtual void addinformixcmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvinformix, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000272 RID: 626 RVA: 0x002DADE8 File Offset: 0x002D8FE8
		internal virtual void addgreenplumcmds(ESqlStatementType psqlstatementtype, int ptoken1, string ptoken2, string ptoken3, string ptoken4, string ptoken5, string ptoken6, string ptoken7)
		{
			this.addcmds(EDbVendor.dbvgreenplum, psqlstatementtype, ptoken1, ptoken2, ptoken3, ptoken4, ptoken5, ptoken6, ptoken7);
		}

		// Token: 0x06000273 RID: 627 RVA: 0x002DAE0C File Offset: 0x002D900C
		internal virtual ESqlStatementType finddbcmd(TSourceToken ptoken, ArrayList pdbcmds)
		{
			ESqlStatementType result = ESqlStatementType.sstinvalid;
			if (ptoken.tokentype != ETokenType.ttkeyword)
			{
				return result;
			}
			int num = 0;
			for (int i = 0; i < pdbcmds.Count; i++)
			{
				if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token1 != ptoken.tokencode)
				{
					if (num > 0)
					{
						break;
					}
				}
				else
				{
					if (num < 1)
					{
						num = 1;
					}
					if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token2 == "" || ((TSqlCmds.TSqlCmd)pdbcmds[i]).token2 == " ")
					{
						result = ((TSqlCmds.TSqlCmd)pdbcmds[i]).sqlstatementtype;
						if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token2 == "")
						{
							break;
						}
					}
					TSourceToken tsourceToken = this.nextsolidtoken(ptoken);
					if (tsourceToken == null)
					{
						break;
					}
					int num2;
					if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token2 == "*")
					{
						num2 = 0;
					}
					else
					{
						num2 = TBaseType.mycomparetext(tsourceToken.astext, ((TSqlCmds.TSqlCmd)pdbcmds[i]).token2);
					}
					if (num2 != 0)
					{
						if (num > 1)
						{
							break;
						}
					}
					else
					{
						if (num2 == 0 && num < 2)
						{
							num = 2;
						}
						if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token3 == "" || ((TSqlCmds.TSqlCmd)pdbcmds[i]).token3 == " ")
						{
							result = ((TSqlCmds.TSqlCmd)pdbcmds[i]).sqlstatementtype;
							if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token3 == "")
							{
								break;
							}
						}
						TSourceToken tsourceToken2 = this.nextsolidtoken(tsourceToken);
						if (tsourceToken2 == null)
						{
							break;
						}
						if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token3 == "*")
						{
							num2 = 0;
						}
						else
						{
							num2 = TBaseType.mycomparetext(tsourceToken2.astext, ((TSqlCmds.TSqlCmd)pdbcmds[i]).token3);
						}
						if (num2 != 0)
						{
							if (num > 2)
							{
								break;
							}
						}
						else
						{
							if (num < 3)
							{
								num = 3;
							}
							if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token4 == "" || ((TSqlCmds.TSqlCmd)pdbcmds[i]).token4 == " ")
							{
								result = ((TSqlCmds.TSqlCmd)pdbcmds[i]).sqlstatementtype;
								if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token4 == "")
								{
									break;
								}
							}
							TSourceToken tsourceToken3 = this.nextsolidtoken(tsourceToken2);
							if (tsourceToken3 == null)
							{
								break;
							}
							if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token4 == "*")
							{
								num2 = 0;
							}
							else
							{
								num2 = TBaseType.mycomparetext(tsourceToken3.astext, ((TSqlCmds.TSqlCmd)pdbcmds[i]).token4);
							}
							if (num2 != 0)
							{
								if (num > 3)
								{
									break;
								}
							}
							else
							{
								if (num < 4)
								{
									num = 4;
								}
								if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token5 == "" || ((TSqlCmds.TSqlCmd)pdbcmds[i]).token5 == " ")
								{
									result = ((TSqlCmds.TSqlCmd)pdbcmds[i]).sqlstatementtype;
									if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token5 == "")
									{
										break;
									}
								}
								TSourceToken tsourceToken4 = this.nextsolidtoken(tsourceToken3);
								if (tsourceToken4 == null)
								{
									break;
								}
								if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token5 == "*")
								{
									num2 = 0;
								}
								else
								{
									num2 = TBaseType.mycomparetext(tsourceToken4.astext, ((TSqlCmds.TSqlCmd)pdbcmds[i]).token5);
								}
								if (num2 != 0)
								{
									if (num > 4)
									{
										break;
									}
								}
								else
								{
									if (num < 5)
									{
										num = 5;
									}
									if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token6 == "" || ((TSqlCmds.TSqlCmd)pdbcmds[i]).token6 == " ")
									{
										result = ((TSqlCmds.TSqlCmd)pdbcmds[i]).sqlstatementtype;
										if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token6 == "")
										{
											break;
										}
									}
									TSourceToken tsourceToken5 = this.nextsolidtoken(tsourceToken4);
									if (tsourceToken5 == null)
									{
										break;
									}
									if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token6 == "*")
									{
										num2 = 0;
									}
									else
									{
										num2 = TBaseType.mycomparetext(tsourceToken5.astext, ((TSqlCmds.TSqlCmd)pdbcmds[i]).token6);
									}
									if (num2 != 0)
									{
										if (num > 5)
										{
											break;
										}
									}
									else
									{
										if (num < 6)
										{
											num = 6;
										}
										if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token7 == "" || ((TSqlCmds.TSqlCmd)pdbcmds[i]).token7 == " ")
										{
											result = ((TSqlCmds.TSqlCmd)pdbcmds[i]).sqlstatementtype;
											if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token7 == "")
											{
												break;
											}
										}
										TSourceToken tsourceToken6 = this.nextsolidtoken(tsourceToken5);
										if (tsourceToken6 == null)
										{
											break;
										}
										if (((TSqlCmds.TSqlCmd)pdbcmds[i]).token7 == "*")
										{
											num2 = 0;
										}
										else
										{
											num2 = TBaseType.mycomparetext(tsourceToken6.astext, ((TSqlCmds.TSqlCmd)pdbcmds[i]).token7);
										}
										if (num2 == 0)
										{
											if (num < 7)
											{
											}
											result = ((TSqlCmds.TSqlCmd)pdbcmds[i]).sqlstatementtype;
											break;
										}
										if (num > 6)
										{
											break;
										}
									}
								}
							}
						}
					}
				}
			}
			return result;
		}

		// Token: 0x06000274 RID: 628 RVA: 0x002DB2E4 File Offset: 0x002D94E4
		internal virtual TSourceToken nextsolidtoken(TSourceToken ptoken)
		{
			TSourceToken result = null;
			if (ptoken.container == null)
			{
				return result;
			}
			return ptoken.container.nextsolidtoken(ptoken, 1, false);
		}

		// Token: 0x06000275 RID: 629 RVA: 0x002DB310 File Offset: 0x002D9510
		internal virtual void initteradatacmds()
		{
			this.addteradatacmds(ESqlStatementType.sstteradataabort, 527, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataalterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataalterfunction, 426, "specific", "function", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataaltermethod, 426, "method", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataaltermethod, 426, "constructor", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataaltermethod, 426, "instance", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataaltermethod, 426, "specific", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataalterprocedure, 426, "procedure", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataalterreplicationgroup, 426, "replication", "group", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataaltertrigger, 426, "trigger", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataaltertype, 426, "type", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatabegindeclaresection, 351, "delcare", "section", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatabeginlogging, 351, "logging", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatabeginquerylogging, 351, "query", "logging", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatabegintransaction, 351, "transaction", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatabegintransaction, 529, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacall, 468, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacheckpoint, 518, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataclose, 429, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatemacro, 531, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacollectdemographics, 530, "demographics", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, 530, "statistics", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, 530, "stats", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, 530, "stat", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, 530, "summary", "statistics", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, 530, "summary", "stats", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacollectstatistics, 530, "summary", "stat", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacomment, 469, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacommit, 419, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataconnect, 481, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreateauthorization, 307, "authorization", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatecast, 307, "cast", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatemethod, 307, "constructor", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatefunction, 307, "function", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "global", "temporary", "multiset", "table", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "global", "temporary", "set", "table", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "global", "temporary", "table", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreateindex, 307, "hash", "index", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreateindex, 307, "index", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatemethod, 307, "instance", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreateindex, 307, "join", "index", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatemacro, 307, "macro", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatemethod, 307, "method", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "multiset", "global", "temporary", "table", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "multiset", "table", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "multiset", "volatile", "table", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreateordering, 307, "ordering", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreateprocedure, 307, "proc", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreateprocedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreateprofile, 307, "profile", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreateview, 307, "recursive", "view", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatereplicationgroup, 307, "replication", "group", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreaterole, 307, "role", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "set", "global", "temporary", "table", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "set", "table", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "set", "volatile", "table", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatetransform, 307, "transform", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatetrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreatetype, 307, "type", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreateindex, 307, "unique", "index", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatacreateuser, 307, "user", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "volatile", "multiset", "table", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "volatile", "table", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 307, "volatile", "set", "table", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreatetable, 532, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstcreateview, 562, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadatabase, 425, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadeclarecursor, 315, "cursor", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadeclarestatement, 315, "statement", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadeclaretable, 315, "table", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstdelete, 533, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadeletedatabase, 303, "database", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadeleteuser, 303, "user", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadescribe, 482, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadiagnostic, 534, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropauthorization, 314, "authorization", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropcast, 314, "cast", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropdatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropfunction, 314, "function", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstdropindex, 314, "hash", "index", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstdropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstdropindex, 314, "join", "index", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropmacro, 314, "macro", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropordering, 314, "ordering", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropprocedure, 314, "procedure", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropprofile, 314, "profile", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropreplicationgroup, 314, "replication", "group", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadroprole, 314, "role", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropfunction, 314, "specific", "function", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropstatistics, 314, "stat", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropstatistics, 314, "statistics", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropstatistics, 314, "stats", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstdroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadroptransform, 314, "transform", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadroptrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadroptype, 314, "type", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadropuser, 314, "user", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstdropview, 314, "view", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatadumpexplain, 535, "explain", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataecho, 536, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataenddeclaresection, 313, "declare", "section", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataendlogging, 313, "logging", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataendquerylogging, 313, "query", "logging", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataendtransaction, 313, "transaction", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataendtransaction, 537, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataexecute, 440, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataexecute, 439, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataexecuteimmediate, 440, "immediate", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatafetch, 334, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatagetcrash, 486, "crash", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatagive, 538, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatagrant, 423, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatahelp, 539, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatainclude, 487, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstinsert, 540, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatainsertexplain, 302, "explain", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatalock, 473, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatalock, 551, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatalogon, 542, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstmerge, 418, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatamodifydatabase, 543, "database", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatamodifyprofile, 543, "profile", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatamodifyuser, 543, "user", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataopen, 443, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataposition, 544, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradataprepare, 491, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarenamefunction, 476, "function", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarenamemacro, 476, "macro", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarenameprocedure, 476, "procedure", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarenametable, 476, "table", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarenametrigger, 476, "trigger", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarenameview, 476, "view", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacecast, 505, "cast", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacemethod, 505, "constructor", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacefunction, 505, "function", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacemethod, 505, "instance", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacemacro, 505, "macro", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacemethod, 505, "method", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplaceordering, 505, "ordering", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplaceprocedure, 505, "procedure", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacemethod, 505, "specific", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacetransform, 505, "transform", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplacetrigger, 505, "trigger", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplaceview, 505, "view", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatareplaceview, 505, "recursive", "view", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarestartindexanalysis, 545, "index", "analysis", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatarollback, 420, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstselect, 547, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatasetrole, 325, "role", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatasetsession, 325, "session", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatasetsession, 548, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatasettimezone, 325, "time", "zone", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashow, 508, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowmethod, 508, "constructor", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowfunction, 508, "function", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowindex, 508, "hash", "index", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowmethod, 508, "instance", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowindex, 508, "join", "index", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowmacro, 508, "macro", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowmethod, 508, "method", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowprocedure, 508, "procedure", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowreplicationgroup, 508, "replication", "group", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowfunction, 508, "specific", "function", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowmethod, 508, "specific", "method", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowtable, 508, "table ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowtable, 508, "temporary", "table", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowtrigger, 508, "trigger", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowtype, 508, "type", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatashowview, 508, "view", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstupdate, 549, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatausing, 528, " ", " ", " ", " ", " ", " ");
			this.addteradatacmds(ESqlStatementType.sstteradatawait, 550, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000276 RID: 630 RVA: 0x002DD324 File Offset: 0x002DB524
		internal virtual void inithivecmds()
		{
			this.addhivecmds(ESqlStatementType.sstalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstalterindex, 426, "index", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstalterview, 426, "view", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveAnalyzeTable, 465, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstcreatetable, 307, "external", "table", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstcreateindex, 307, "index", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "view", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveCreateRole, 307, "role", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstcreatedatabase, 307, "schema", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveCreateFunction, 307, "temporary", "function", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveDesc, 529, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveDesc, 482, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveDropDatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstdropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveDropRole, 314, "role", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveDropDatabase, 314, "schema", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstdroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveDropFunciton, 314, "temporary", "function", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstdropview, 314, "view", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveExplain, 471, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveExportTable, 531, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveGrant, 423, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveGrantRole, 423, "role", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveImportTable, 532, "external", "table", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveImportTable, 532, "from", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveImportTable, 532, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveLoad, 503, "data", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveLockTable, 473, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveMetaStoreCheck, 530, "", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveRevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveRevokeRole, 422, "role", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveSet, 325, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveShow, 508, " ", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveShowGrants, 508, "grant", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveShowRoleGrants, 508, "role", "grant", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.sstTruncate, 424, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveUnlockTable, 510, "table", " ", " ", " ", " ", " ");
			this.addhivecmds(ESqlStatementType.ssthiveSwitchDatabase, 458, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000277 RID: 631 RVA: 0x002DDAE0 File Offset: 0x002DBCE0
		internal virtual void initmysqlcmds()
		{
			this.addmysqlcmds(ESqlStatementType.sstmysqlalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlalterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlalterprocedure, 426, "procedure", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlalterview, 426, "view", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlanalyzetable, 465, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlbackuptable, 431, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlstarttransaction, 351, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcacheindex, 497, "index", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcall, 468, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcase, 316, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlchangemasterto, 498, "master", "to", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlchecktable, 499, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlchecksumtable, 500, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlclose, 429, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcommit, 419, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, 307, "definer", "=", "current_user", "function", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, 307, "definer", "=", "current_user", "procedure", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatetrigger, 307, "definer", "=", "current_user", "trigger", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, 307, "definer", "=", "*", "procedure", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, 307, "definer", "=", "*", "function", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatetrigger, 307, "definer", "=", "*", "trigger", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, 307, "definer", "=", "*", "*", "*", "function");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, 307, "definer", "=", "*", "*", "*", "procedure");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatetrigger, 307, "definer", "=", "*", "*", "*", "trigger");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, 307, "fulltext", "index", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatefunction, 307, "function", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, 307, "index", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "view", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "*", "*", "*", "view");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateprocedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, 307, "spatial", "index", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatedatabase, 307, "schema", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstcreatetable, 307, "temp", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstcreatetable, 307, "temporary", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreatetrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateindex, 307, "unique", "index", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlcreateuser, 307, "user", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstcreateview, 307, "*", "*", "*", "*", "*", "view");
			this.addmysqlcmds(ESqlStatementType.sstmysqldeallocateprepare, 435, "prepare", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldeclare, 315, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldelimiter, 536, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstdescribe, 535, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstdescribe, 482, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldo, 501, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropdatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropfunction, 314, "function", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropprepare, 314, "prepare", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropprocedure, 314, "procedure", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropdatabase, 314, "schema", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldroptable, 314, "temporary", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldroptrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropuser, 314, "user", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqldropview, 314, "view", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlexecute, 440, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstdescribe, 471, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlfetch, 334, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlflush, 484, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlgrant, 423, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlhandler, 502, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlifstmt, 305, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqliterate, 488, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlkill, 442, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlleave, 489, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlloaddatafrommaster, 503, "data", "from", "master", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlloaddatainfile, 503, "data", "infile", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlloaddatainfile, 503, "data", "local", "infile", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlloadindexintocache, 503, "index", "into", "cache", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlloadtable, 503, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqllocktable, 473, "tables", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlloop, 490, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlopen, 443, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, 504, "local", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, 504, "no_write_to_binlog", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqloptimizetable, 504, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlprepare, 491, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, 475, "binary", "logs", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, 475, "logs", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlpurgelogs, 475, "master", "logs", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlreleasesavepoint, 493, "savepoint", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrenametable, 476, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrenameuser, 476, "user", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrepairtable, 506, "local", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrepairtable, 506, "no_write_to_binlog", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrepairtable, 506, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrepeat, 494, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlreplace, 505, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlreset, 507, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlresetmaster, 507, "master", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlresetslave, 507, "slave", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrestoretable, 451, "table", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlrollback, 420, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsavepoint, 421, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlset, 325, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsetautocommit, 325, "autocommit", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsetglobalsql_slave_skip_counter, 325, "global", "sql_slave_skip_counter", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, 325, "global", "transaction", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlset, 325, "PASSWORD", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, 325, "session", "transaction", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsetsql_log_bin, 325, "sql_log_bin", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsettransaction, 325, "transaction", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowlogs, 508, "bdb", "logs", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowbinlogevents, 508, "binlog", "events", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcharacterset, 508, "character", "set", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcollation, 508, "collation", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcolumns, 508, "columns", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcreatedatabase, 508, "create", "database", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcreatefunction, 508, "create", "function", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcreateprocedure, 508, "create", "procedure", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcreatetable, 508, "create", "table", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcreateview, 508, "create", "view", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowdatabases, 508, "databases", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowengines, 508, "engines", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowerrors, 508, "errors", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowcolumns, 508, "full", "columns", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowtables, 508, "full", "tables", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowfunctionstatus, 508, "function", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, 508, "global", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, 508, "global", "variables", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowgrants, 508, "grants", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowindex, 508, "index", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowinnodbstatus, 508, "innodb", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowlogs, 508, "logs", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowmasterlogs, 508, "master", "logs", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowmasterstatus, 508, "master", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowtables, 508, "open", "tables", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowprivileges, 508, "privileges", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowfunctionstatus, 508, "procedure", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowprocesslist, 508, "processlist", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, 508, "session", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowslavehosts, 508, "slave", "hosts", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowslavestatus, 508, "slave", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowstatus, 508, "status", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowengines, 508, "storage", "engines", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowtablestatus, 508, "table", "status", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowtables, 508, "tables", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowtriggers, 508, "triggers", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, 508, "session", "variables", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowvariables, 508, "variables", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlshowwarnings, 508, "warnings", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlsignal, 496, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlstartslave, 312, "slave", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlstarttransaction, 312, "transaction", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlstopslave, 509, "slave", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqltruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlunlocktable, 510, "tables", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqluse, 458, " ", " ", " ", " ", " ", " ");
			this.addmysqlcmds(ESqlStatementType.sstmysqlwhile, 460, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000278 RID: 632 RVA: 0x002DF71C File Offset: 0x002DD91C
		internal virtual void initmdxcmds()
		{
			this.addmdxcmds(ESqlStatementType.sstmdxaltercube, 426, "cube", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxalterdimension, 426, "dimension", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcalculate, 519, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcall, 468, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcase, 316, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxclearcalculations, 520, "calculations", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreateaction, 307, "action", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatemember, 307, "calculated", "memeber", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatecellcalculation, 307, "cell", "calculation", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatedimensionmember, 307, "dimension", "member", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreateglobalcube, 307, "global", "cube", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreateset, 307, "hidden", "set", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatemember, 307, "member", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatemember, 307, "session", "calculated", "memeber", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatesessioncube, 307, "session", "cube", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatedimensionmember, 307, "session", "dimension", "member", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreateset, 307, "session", "hidden", "set", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatemember, 307, "session", "memeber", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreateset, 307, "session", "set", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreateset, 307, "set", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxcreatesubcube, 307, "subcube", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdrillthrough, 521, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropaction, 314, "action", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropmember, 314, "calculated", "member", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropcellcalculation, 314, "cell", "calcution", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropdimensionmember, 314, "dimension", "member", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropmember, 314, "member", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropmember, 314, "session", "member", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropmember, 314, "session", "calculated", "member", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropcellcalculation, 314, "session", "cell", "calcution", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropset, 314, "set", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxdropsubcube, 314, "subcube", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxexisting, 523, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxfreeze, 522, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxif, 305, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxrefreshcube, 492, "cube", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxscope, 524, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxselect, 301, " ", " ", " ", " ", " ", " ");
			this.addmdxcmds(ESqlStatementType.sstmdxupdate, 304, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000279 RID: 633 RVA: 0x002DFE2C File Offset: 0x002DE02C
		internal virtual void initsybasecmds()
		{
			this.addsybasecmds(ESqlStatementType.sstmssqladdsignature, 428, "counter", "signature", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqladdsignature, 428, "signature", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterapplicationrole, 426, "application", "role", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterassembly, 426, "assembly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterasymmetrickey, 426, "asymmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterauthorization, 426, "authorization", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlaltercertificate, 426, "certificate", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlaltercredential, 426, "credential", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterendpoint, 426, "endpoint", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterfulltextcatalog, 426, "fulltext", "catalog", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterfulltextindex, 426, "fulltext", "index", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterindex, 426, "index", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterlogin, 426, "login", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlaltermasterkey, 426, "master", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlaltermessagetype, 426, "message", "type", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterpartitionfunction, 426, "partition", "function", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterpartitionscheme, 426, "partition", "scheme", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterprocedure, 426, "proc", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterprocedure, 426, "procedure", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterqueue, 426, "queue", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterremoteservicebinding, 426, "remote", "service", "binding", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterrole, 426, "role", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterroute, 426, "route", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterschema, 426, "schema", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterservice, 426, "service", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterservicemasterkey, 426, "service", "master", "key", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlaltersymmetrickey, 426, "symmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlaltertrigger, 426, "trigger", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalteruser, 426, "user", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterview, 426, "view", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlalterxmlschemacollection, 426, "xml", "schema", "collection", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbackupdatabase, 431, "database", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbackupcertificate, 431, "certificate", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbackuplog, 431, "log", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbackupmasterkey, 431, "master", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbackupservicemasterkey, 431, "service", "master", "key", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbegincatch, 351, "catch", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbeginconversationtimer, 351, "conversation", "timer", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbegindialog, 351, "dialog", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbegindistributed, 351, "distributed", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbegintran, 351, "tran", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbegintran, 351, "transaction", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbegintry, 351, "try", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbreak, 432, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlbulkinsert, 433, "insert", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcall, 468, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcheckpoint, 518, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlclose, 429, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlclosesymmetrickey, 429, "all", "symmetric", "keys", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlclosemasterkey, 429, "master", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlclosesymmetrickey, 429, "symmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcommit, 419, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcommit, 419, "work", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcommit, 419, "tran", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcommit, 419, "transaction", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcontinue, 430, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateaggregate, 307, "aggregate", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateapplicationrole, 307, "application", "role", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateassembly, 307, "assembly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateasymmetrickey, 307, "asymmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatecertificate, 307, "certificate", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreateindex, 307, "clustered", "index", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatecontract, 307, "contract", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatecredential, 307, "credential", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatedefault, 307, "default", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateendpoint, 307, "endpoint", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateeventnotification, 307, "event", "notification", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatefulltextcatalog, 307, "fulltext", "catalog", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatefulltextindex, 307, "fulltext", "index", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatefunction, 307, "function", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreateindex, 307, "index", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatelogin, 307, "login", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatemasterkey, 307, "master", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatemessagetype, 307, "message", "type", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreateindex, 307, "nonclustered", "index", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, 307, "or", "replace", "procedure", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatepartitionfunction, 307, "partition", "function", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatepartitionscheme, 307, "partition", "scheme", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, 307, "proc", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateprocedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatequeue, 307, "queue", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateremoteservicebinding, 307, "remote", "service", "binding", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreaterole, 307, "role", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateroute, 307, "route", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreaterule, 307, "rule", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateschema, 307, "schema", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateservice, 307, "service", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatestatistics, 307, "statistics", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatesymmetrickey, 307, "symmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatesynonym, 307, "synonym", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatetrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatetype, 307, "type", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreateindex, 307, "unique", "clustered", "index", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreateindex, 307, "unique", "index", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreateindex, 307, "unique", "nonclustered", "index", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreateuser, 307, "user", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlcreatexmlschemacollection, 307, "xml", "schema", "collection", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldbcc, 434, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldeallocate, 435, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldeclare, 315, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybaseDeleteStatistics, 303, "shared", "statistics", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybaseDeleteStatistics, 303, "statistics", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldeny, 436, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldisabletrigger, 437, "trigger", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropaggregate, 314, "aggregate", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropapplicationrole, 314, "application", "role", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropassembly, 314, "assembly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropasymmetrickey, 314, "asymmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropcertificate, 314, "certificate", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropcontract, 314, "contract", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropsignature, 314, "counter", "signature", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropcredential, 314, "credential", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropdatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropdefault, 314, "default", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropendpoint, 314, "endpoint", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropeventnotification, 314, "event", "notification", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropfulltextcatalog, 314, "fulltext", "catalog", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropfulltextindex, 314, "fulltext", "index", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropfunction, 314, "function", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroplogin, 314, "login", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropmasterkey, 314, "master", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropmessagetype, 314, "message", "type", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroppartitionfunction, 314, "partition", "function", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroppartitionscheme, 314, "partition", "scheme", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropprocedure, 314, "proc", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropprocedure, 314, "procedure", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropqueue, 314, "queue", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropremoteservicebinding, 314, "remote", "service", "binding", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroprole, 314, "role", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroproute, 314, "route", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroprule, 314, "rule", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropschema, 314, "schema", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropservice, 314, "service", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropsignature, 314, "signature", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropstatistics, 314, "statistics", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropsymmetrickey, 314, "symmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropsynonym, 314, "synonym", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroptrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldroptype, 314, "type", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropuser, 314, "user", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropview, 314, "view", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqldropxmlschemacollection, 314, "xml", "schema", "collection", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybasedumpTran, 558, "tran", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybasedumpTran, 558, "transaction", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlif, 305, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlenabletrigger, 438, "trigger", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlendconversation, 313, "conversation", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexec, 439, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexecuteas, 439, "as", "caller", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexecuteas, 439, "as", "login", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexecuteas, 439, "as", "user", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexec, 440, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexecuteas, 440, "as", "caller", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexecuteas, 440, "as", "login", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlexecuteas, 440, "as", "user", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlfetch, 334, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlgo, 463, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlgoto, 441, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlgrant, 423, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybaseInsertBulk, 302, "bulk", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlkill, 442, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlkill, 442, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlkillquerynotificationsubscription, 442, "kill", "query", "notification", "subscription", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlkillstats, 442, "stats", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybaselocktable, 296, "table", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlmoveconversation, 445, "conversation", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmerge, 418, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlopen, 443, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlopenmasterkey, 443, "master", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlopensymmetrickey, 443, "symmetric", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlprint, 446, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlraiserror, 447, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlreadtext, 448, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlreceive, 449, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlreconfigure, 450, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestoredatabase, 451, "database", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestorefilelistonly, 451, "filelistonly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestoreheaderonly, 451, "headeronly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestorelabelonly, 451, "labelonly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestorelog, 451, "log", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestoremasterkey, 451, "master", "key", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestorerewindonly, 451, "rewindonly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestoreservicemasterkey, 451, "service", "master", "key", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrestoreverifyonly, 451, "verifyonly", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlreturn, 427, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrevert, 517, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrollback, 420, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrollback, 420, "tran", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrollback, 420, "transaction", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlrollback, 420, "work", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlsavetran, 444, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlsavetran, 444, "tran", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlsavetran, 444, "transaction", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlsendonconversation, 452, "on", "conversation", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlset, 325, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlsetuser, 453, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlshutdown, 454, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqltruncatetable, 424, "table", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlupdatestatistics, 304, "all", "statistics", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybaseupdateindexstatistics, 304, "index", "statistics", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlupdatestatistics, 304, "statistics", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlupdatetext, 457, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqluse, 458, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlwaitfor, 459, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlwhile, 460, " ", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstmssqlwithxmlnamespaces, 311, "xmlnamespaces", " ", " ", " ", " ", " ");
			this.addsybasecmds(ESqlStatementType.sstsybaseWritetext, 461, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x0600027A RID: 634 RVA: 0x002E24E8 File Offset: 0x002E06E8
		internal virtual void initmssqlcmds()
		{
			this.addmssqlcmds(ESqlStatementType.sstmssqladdsignature, 428, "counter", "signature", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqladdsignature, 428, "signature", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterapplicationrole, 426, "application", "role", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterassembly, 426, "assembly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterasymmetrickey, 426, "asymmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterauthorization, 426, "authorization", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlaltercertificate, 426, "certificate", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlaltercredential, 426, "credential", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterendpoint, 426, "endpoint", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterfulltextcatalog, 426, "fulltext", "catalog", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterfulltextindex, 426, "fulltext", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterindex, 426, "index", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterlogin, 426, "login", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlaltermasterkey, 426, "master", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlaltermessagetype, 426, "message", "type", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterpartitionfunction, 426, "partition", "function", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterpartitionscheme, 426, "partition", "scheme", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterprocedure, 426, "proc", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterprocedure, 426, "procedure", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterqueue, 426, "queue", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterremoteservicebinding, 426, "remote", "service", "binding", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterrole, 426, "role", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterroute, 426, "route", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterschema, 426, "schema", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstaltersequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterservice, 426, "service", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterservicemasterkey, 426, "service", "master", "key", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlaltersymmetrickey, 426, "symmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlaltertrigger, 426, "trigger", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalteruser, 426, "user", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterview, 426, "view", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlalterxmlschemacollection, 426, "xml", "schema", "collection", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbackupdatabase, 431, "database", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbackupcertificate, 431, "certificate", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbackuplog, 431, "log", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbackupmasterkey, 431, "master", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbackupservicemasterkey, 431, "service", "master", "key", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbegincatch, 351, "catch", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbeginconversationtimer, 351, "conversation", "timer", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbegindialog, 351, "dialog", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbegindistributed, 351, "distributed", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbegintran, 351, "tran", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbegintran, 351, "transaction", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbegintry, 351, "try", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbreak, 432, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlbulkinsert, 433, "insert", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcheckpoint, 518, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlclose, 429, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlclosesymmetrickey, 429, "all", "symmetric", "keys", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlclosemasterkey, 429, "master", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlclosesymmetrickey, 429, "symmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcommit, 419, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcommit, 419, "work", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcommit, 419, "tran", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcommit, 419, "transaction", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcontinue, 430, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateaggregate, 307, "aggregate", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateapplicationrole, 307, "application", "role", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateassembly, 307, "assembly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateasymmetrickey, 307, "asymmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatecertificate, 307, "certificate", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "clustered", "columnstore", "index", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "clustered", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "columnstore", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatecontract, 307, "contract", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatecredential, 307, "credential", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatedefault, 307, "default", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateendpoint, 307, "endpoint", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateeventnotification, 307, "event", "notification", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextcatalog, 307, "fulltext", "catalog", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatefulltextindex, 307, "fulltext", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatefunction, 307, "function", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "index", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatelogin, 307, "login", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatemasterkey, 307, "master", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatemessagetype, 307, "message", "type", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "nonclustered", "columnstore", "index", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "nonclustered", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, 307, "or", "alter", "proc", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, 307, "or", "alter", "procedure", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionfunction, 307, "partition", "function", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatepartitionscheme, 307, "partition", "scheme", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, 307, "proc", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateprocedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatequeue, 307, "queue", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateremoteservicebinding, 307, "remote", "service", "binding", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreaterole, 307, "role", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateroute, 307, "route", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreaterule, 307, "rule", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateschema, 307, "schema", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreatesequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateservice, 307, "service", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "spatial", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatestatistics, 307, "statistics", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatesymmetrickey, 307, "symmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatesynonym, 307, "synonym", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatetrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatetype, 307, "type", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "unique", "clustered", "index", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "unique", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateindex, 307, "unique", "nonclustered", "index", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreateuser, 307, "user", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlcreatexmlschemacollection, 307, "xml", "schema", "collection", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldbcc, 434, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldeallocate, 435, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldeclare, 315, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldeny, 436, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldisabletrigger, 437, "trigger", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropaggregate, 314, "aggregate", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropapplicationrole, 314, "application", "role", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropassembly, 314, "assembly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropasymmetrickey, 314, "asymmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropcertificate, 314, "certificate", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropcontract, 314, "contract", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropsignature, 314, "counter", "signature", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropcredential, 314, "credential", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropdatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropdefault, 314, "default", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropendpoint, 314, "endpoint", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropeventnotification, 314, "event", "notification", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropfulltextcatalog, 314, "fulltext", "catalog", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropfulltextindex, 314, "fulltext", "index", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropfunction, 314, "function", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroplogin, 314, "login", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropmasterkey, 314, "master", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropmessagetype, 314, "message", "type", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroppartitionfunction, 314, "partition", "function", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroppartitionscheme, 314, "partition", "scheme", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, 314, "proc", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropprocedure, 314, "procedure", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropqueue, 314, "queue", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropremoteservicebinding, 314, "remote", "service", "binding", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroprole, 314, "role", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroproute, 314, "route", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroprule, 314, "rule", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropschema, 314, "schema", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstdropsequence, 314, "sequence", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropservice, 314, "service", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropsignature, 314, "signature", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropstatistics, 314, "statistics", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropsymmetrickey, 314, "symmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropsynonym, 314, "synonym", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroptrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldroptype, 314, "type", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropuser, 314, "user", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropview, 314, "view", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqldropxmlschemacollection, 314, "xml", "schema", "collection", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlif, 305, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlenabletrigger, 438, "trigger", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlendconversation, 313, "conversation", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexec, 439, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, 439, "as", "caller", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, 439, "as", "login", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, 439, "as", "user", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexec, 440, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, 440, "as", "caller", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, 440, "as", "login", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlexecuteas, 440, "as", "user", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlfetch, 334, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlgo, 463, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlgoto, 441, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlgrant, 423, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlkill, 442, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlkill, 442, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlkillquerynotificationsubscription, 442, "kill", "query", "notification", "subscription", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlkillstats, 442, "stats", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstsybaselocktable, 296, "table", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlmoveconversation, 445, "conversation", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmerge, 418, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlopen, 443, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlopenmasterkey, 443, "master", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlopensymmetrickey, 443, "symmetric", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlprint, 446, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlraiserror, 447, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlreadtext, 448, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlreceive, 449, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlreconfigure, 450, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestoredatabase, 451, "database", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestorefilelistonly, 451, "filelistonly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestoreheaderonly, 451, "headeronly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestorelabelonly, 451, "labelonly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestorelog, 451, "log", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestoremasterkey, 451, "master", "key", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestorerewindonly, 451, "rewindonly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestoreservicemasterkey, 451, "service", "master", "key", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrestoreverifyonly, 451, "verifyonly", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlreturn, 427, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrevert, 517, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrollback, 420, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrollback, 420, "tran", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrollback, 420, "transaction", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlrollback, 420, "work", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlsavetran, 444, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlsavetran, 444, "tran", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlsavetran, 444, "transaction", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlsendonconversation, 452, "on", "conversation", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlset, 325, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlsetrowcount, 325, "rowcount", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlsetuser, 453, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlshutdown, 454, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlthrow, 563, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqltruncatetable, 424, "table", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlupdatestatistics, 304, "statistics", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlupdatetext, 457, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqluse, 458, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlwaitfor, 459, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlwhile, 460, " ", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlwithxmlnamespaces, 311, "xmlnamespaces", " ", " ", " ", " ", " ");
			this.addmssqlcmds(ESqlStatementType.sstmssqlwritetext, 461, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x0600027B RID: 635 RVA: 0x002E4BE8 File Offset: 0x002E2DE8
		internal virtual void initdb2cmds()
		{
			this.adddb2cmds(ESqlStatementType.sstdb2allocatecursor, 480, "cursor", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterbufferpool, 426, "bufferpool", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterdatabasepartitiongroup, 426, "database", "partition", "group", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2altermethod, 426, "method", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alternickname, 426, "nickname", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterprocedure, 426, "procedure", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2altersequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterserver, 426, "server", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2altertablespace, 426, "tablespace", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2altertype, 426, "type", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterusermapping, 426, "user", "mapping", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterview, 426, "view", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2alterwrapper, 426, "wrapper", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2associatelocators, 466, "locators", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2begindeclaresection, 351, "declare", "section", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2call, 468, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2case, 316, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2close, 429, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2comment, 469, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2commit, 419, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2connect, 481, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createalias, 307, "alias", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createbufferpool, 307, "bufferpool", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createdatabasepartitiongroup, 307, "database", "partition", "group", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createdistincttype, 307, "distinct", "type", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createeventmonitor, 307, "eventmonitor", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createfunction, 307, "function", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createfunctionmapping, 307, "function", "mapping", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreatetable, 307, "global", "temporary", "table", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreateindex, 307, "index", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createindexextension, 307, "index", "extension", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createmethod, 307, "method", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createnickname, 307, "nickname", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createfunction, 307, "or", "replace", "function", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createprocedure, 307, "or", "replace", "procedure", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createtrigger, 307, "or", "replace", "trigger", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "view", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createprocedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createschema, 307, "schema", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createsequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createserver, 307, "server", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createstogroup, 307, "stogroup", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreatetable, 307, "summary", "table", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createtablespace, 307, "tablespace", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createtransform, 307, "transform", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createtrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createtype, 307, "type", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createtypemapping, 307, "type", "mapping", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createusermapping, 307, "user", "mapping", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createvariable, 307, "variable", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2createwrapper, 307, "wrapper", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstcreateindex, 307, "*", "index", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2declareglobaltemporarytable, 315, "global", "temporary", "table", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2declarecursor, 315, "*", "cursor", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2describe, 482, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2disconnect, 483, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2drop, 314, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdroptable, 314, "table", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2enddeclaresection, 313, "declare", "section", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2execute, 440, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2executeimmediate, 440, "immediate", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2explain, 471, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2fetch, 334, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2flusheventmonitor, 484, "event", "monitor", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2flushpackagecache, 484, "package", "cache", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2for, 306, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2freelocator, 485, "locator", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2getdiagnostics, 486, "diagnostics", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2goto, 441, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2grant, 423, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2if, 305, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2include, 487, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2iterate, 488, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2leave, 489, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2locktable, 473, "table", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2loop, 490, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstmerge, 418, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2open, 443, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2prepare, 491, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2refreshtable, 492, "table", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2release, 493, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2releasesavepoint, 493, "savepoint", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2rename, 476, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2renametablespace, 476, "TABLESPACE", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2repeat, 494, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2resignal, 495, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2return, 427, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2revoke, 422, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2rollback, 420, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2savepoint, 421, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setconnection, 325, "connection", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2set, 325, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setconnection, 325, "connection", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentdefaulttransformgroup, 325, "current default transform group", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentdegree, 325, "current", "degree", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainmode, 325, "current", "explain", "mode", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentexplainsnapshot, 325, "current", "explain", "snapshot", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentisolation, 325, "current", "isolation", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentlocktimeout, 325, "current", "lock", "timeout", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentmaintainedtabletypesforoptimization, 325, "current", "maintained", "table", "types", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentpackagepath, 325, "current", "package", "path", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentpackageset, 325, "current", "packageset", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentqueryoptimization, 325, "current", "query", "optimization", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setcurrentrefreshage, 325, "current", "refresh", "age", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setencryptionpassword, 325, "encryption", "password", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2seteventmonitorstate, 325, "event", "monitor", "state", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setintegrity, 325, "integrity", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setpassthru, 325, "passthru", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setpath, 325, "path", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setschema, 325, "schema", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setserveroption, 325, "server", "option", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2setsessionauthorization, 325, "session", "authorization", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2signal, 496, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2terminate, 511, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2updateCommand, 304, "command", " ", " ", " ", " ", " ");
			this.adddb2cmds(ESqlStatementType.sstdb2while, 460, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x0600027C RID: 636 RVA: 0x002E6260 File Offset: 0x002E4460
		internal virtual void initnetezzacmds()
		{
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterDatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterGroup, 426, "group", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterHistoryConfiguration, 426, "history", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterSequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstaltersession, 426, "session", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterSynonym, 426, "synonym", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterTable, 426, "table", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterUser, 426, "user", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaAlterView, 426, "view", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaBegin, 351, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaComment, 469, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaCommit, 419, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaCopy, 530, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaCreateExternalTable, 307, "external", "table", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaCreateGruop, 307, "group", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaCreateHistoryConfiguration, 307, "history", "configuration", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreatematerializedview, 307, "materialized", "view", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreatesequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "view", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreatesynonym, 307, "synonym", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreatetable, 307, "temp", "table", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreatetable, 307, "temporary", "table", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaCreateUser, 307, "user", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropConnection, 314, "connection", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropDatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropGroup, 314, "group", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropHistoryConfiguration, 314, "history", "configuration", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropSchema, 314, "schema", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropSequence, 314, "sequence", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropSession, 314, "session", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropSynonym, 314, "synonym", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropTable, 314, "table", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropUser, 314, "user", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaDropView, 314, "view", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, 531, "express", "statistics", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaGenerateStatistics, 531, "statistics", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaGrant, 423, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaGroomTable, 529, "table", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaReset, 507, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaRevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaRollback, 420, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaSet, 325, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstnetezzaShow, 508, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addnetezzacmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x0600027D RID: 637 RVA: 0x002E6B60 File Offset: 0x002E4D60
		internal virtual void initpostgresqlcmds()
		{
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlabort, 527, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterAggregate, 426, "aggregate", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterCollation, 426, "collation", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterConversion, 426, "conversion", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDefaultPrivileges, 426, "default", "privileges", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterDomain, 426, "domain", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterEventTrigger, 426, "event", "trigger", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterExtension, 426, "extension", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignDataWrapper, 426, "foreign", "data", "wrapper", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterForeignTable, 426, "foreign", "Table", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterGroup, 426, "group", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterIndex, 426, "index", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, 426, "language", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLargeObject, 426, "large", "object", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterMaterializedView, 426, "materialized", "view", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperator, 426, "operator", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, 426, "operator", "class", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterOperatorFamily, 426, "operator", "family", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterLanguage, 426, "procedural", "language", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterRole, 426, "role", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSchema, 426, "schema", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterSequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterServer, 426, "server", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTablespace, 426, "tablespace", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchConfiguration, 426, "text", "search", "configuration", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchDictionary, 426, "text", "search", "dictionary", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchParser, 426, "text", "search", "parser", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTextSearchTemplate, 426, "text", "search", "template", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterTrigger, 426, "trigger", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterType, 426, "type", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUser, 426, "user", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterUserMapping, 426, "user", "mapping", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAlterView, 426, "view", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlAnalyze, 465, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlBegin, 351, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCheckpoint, 518, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlClose, 429, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCluster, 529, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlComment, 469, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommit, 419, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCommitPrepared, 419, "prepared", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCopy, 530, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateAggregate, 307, "aggregate", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCast, 307, "cast", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateCollation, 307, "collation", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTrigger, 307, "constraint", "trigger", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlConversion, 307, "conversion", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateDomain, 307, "domain", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateEventTrigger, 307, "event", "trigger", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateExtension, 307, "extension", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignDataWrapper, 307, "foreign", "data", "wrapper", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateForeignTable, 307, "foreign", "table", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, 307, "function", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "global", "temp", "table", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "global", "temporary", "table", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "global", "unlocked", "table", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateGroup, 307, "group", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, 307, "index", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "language", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "local", "temp", "table", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "local", "temporary", "table", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "local", "unlocked", "table", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateMaterializedView, 307, "materialized", "view", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperator, 307, "operator", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorClass, 307, "operator", "class", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateOperatorFimaly, 307, "operator", "family", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateFunction, 307, "or", "replace", "function", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "or", "replace", "language", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, 307, "or", "replace", "role ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "or", "replace", "temp", "view", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "or", "replace", "temporary", "view", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "or", "replace", "trusted", "language", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "or", "replace", "view", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRole, 307, "role", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateRule, 307, "rule", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSchema, 307, "schema", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateServer, 307, "server", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTablespace, 307, "tablespace", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, 307, "temp", "sequence", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "temp", "table", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "temp", "view", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateSequence, 307, "temporary", "sequence", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "temporary", "table", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "temporary", "view", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchConfiguration, 307, "text", "search", "configuration", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchDictionary, 307, "text", "search", "dictionary", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchParser, 307, "text", "search", "parser", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTextSearchTemplate, 307, "text", "search", "template", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateTrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "trusted", "language", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateType, 307, "type", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstcreatetable, 307, "unlocked", "table", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUser, 307, "user", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateUserMapping, 307, "user", "mapping", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "view", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlCreateIndex, 307, "unique", "index", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeallocate, 435, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDeclare, 315, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDiscard, 531, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDo, 501, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropAggregate, 314, "aggregate", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCast, 314, "cast", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropCollation, 314, "collation", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropConversion, 314, "conversion", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropDomain, 314, "domain", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropExtension, 314, "extension", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignDataWrapper, 314, "foreign", "data", "wrapper", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropForeignTable, 314, "foreign", "table", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropFunction, 314, "function", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropGroup, 314, "group", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstdropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, 314, "language", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, 314, "materialized", "view", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperator, 314, "operator", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorClass, 314, "operator", "class", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOperatorFamily, 314, "operator", "family ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropOwned, 314, "owned", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropLanguage, 314, "procedural", "language", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRole, 314, "role", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropRule, 314, "rule", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSchema, 314, "schema", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropSequence, 314, "sequence", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropServer, 314, "server", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTable, 314, "table", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTablespace, 314, "tablespace", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchConfiguration, 314, "text", "search", "configuration", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchDictionary, 314, "text", "search", "dictionary", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchParser, 314, "text", "search", "parser", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTextSearchTemplate, 314, "text", "search", "template", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropTrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropType, 314, "type", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUser, 314, "user", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropUserMapping, 314, "user", "mapping", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlDropView, 314, "view", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlEnd, 313, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlExecute, 440, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlExplain, 471, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstFetchFrom, 334, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlGrant, 423, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlListen, 532, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlLoad, 503, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlLock, 473, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlMove, 445, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlNotify, 533, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepare, 491, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlPrepareTransaction, 491, "transaction", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlReassignOwned, 534, "owned", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, 492, "materialized", "view", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlReindex, 535, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, 493, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, 493, "savepoint", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlReset, 507, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlRevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollback, 420, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlRollbackPrepared, 420, "prepared", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSavepoint, 421, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSecurityLabel, 536, "label", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSet, 325, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetConstraints, 325, "constraints", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, 325, "local", "role", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, 325, "local", "session", "authorization", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, 325, "role", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, 325, "session", "authorization", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, 325, "session", "characteristics", "as", "transaction", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetRole, 325, "session", "role", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, 325, "session", "session", "authorization", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlSetTransaction, 325, "transaction", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlUnlisten, 537, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addpostgresqlcmds(ESqlStatementType.sstpostgresqlValues, 326, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x0600027E RID: 638 RVA: 0x002E8BB4 File Offset: 0x002E6DB4
		internal virtual void initsnowflakecmds()
		{
			this.addsnowflakecmds(ESqlStatementType.sstAlterAccount, 426, "account", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterFileFormat, 426, "file", "format", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstalterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterNetworkPolicy, 426, "network", "policy", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterPipe, 426, "pipe", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterResourceMonitor, 426, "resource", "monitor", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterRole, 426, "role", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterSchema, 426, "schema", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstaltersession, 426, "session", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstaltersequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterShare, 426, "share", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterStage, 426, "stage", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstalteruser, 426, "user", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstalterview, 426, "view", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstAlterWarehouse, 426, "warehouse", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstBegin, 351, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcall, 468, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcomment, 469, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcommit, 419, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCopyInto, 532, "into", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, 307, "file", "format", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatefunction, 307, "function", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, 307, "materialized", "view", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, 307, "network", "policy", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatedatabase, 307, "or", "replace", "database", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateFileFormat, 307, "or", "replace", "file", "format", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatefunction, 307, "or", "replace", "function", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, 307, "or", "replace", "materialized", "view", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateNetworkPolicy, 307, "or", "replace", "network", "policy", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateprocedure, 307, "or", "replace", "procedure", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, 307, "or", "replace", "resource", "monitor", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreaterole, 307, "or", "replace", "role", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateschema, 307, "or", "replace", "schema", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, 307, "or", "replace", "secure", "materialized", "view", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "secure", "view", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatesequence, 307, "or", "replace", "sequence", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateShare, 307, "or", "replace", "share", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateStage, 307, "or", "replace", "stage", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateStream, 307, "or", "replace", "stream", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "or", "replace", "table", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "or", "replace", "temp", "table", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateStage, 307, "or", "replace", "temporary", "stage", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "or", "replace", "temporary", "table", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatedatabase, 307, "or", "replace", "transient", "database", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateschema, 307, "or", "replace", "transient", "schema", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "or", "replace", "transient", "table", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateuser, 307, "or", "replace", "user", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "view", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, 307, "or", "replace", "warehouse", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreatePipe, 307, "pipe", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateprocedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateview, 307, "recursive", "view", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateResourceMonitor, 307, "resource", "monitor", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreaterole, 307, "role", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateschema, 307, "schema", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatematerializedview, 307, "secure", "materialized", "view", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateview, 307, "secure", "view", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatesequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateShare, 307, "share", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateStage, 307, "stage", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateStream, 307, "stream", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "temp", "table", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateStage, 307, "temporary", "stage", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "temporary", "table", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatedatabase, 307, "transient", "database", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateschema, 307, "transient", "schema", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreatetable, 307, "transient", "table", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateuser, 307, "user", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstCreateWarehouse, 307, "warehouse", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescFileFormat, 533, "file", "format", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescFunction, 533, "function", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescNetworkPolicy, 533, "network", "policy", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescPipe, 533, "pipe", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescResult, 533, "result", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescShare, 533, "share", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescStage, 533, "stage", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescTable, 533, "table", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescUser, 533, "user", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDescView, 533, "view", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdropdatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDropFileFormat, 314, "file", "format", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdropfunction, 314, "function", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDropNetworkPolicy, 314, "network", "policy", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDropPipe, 314, "pipe", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDropResourceMonitor, 314, "resource", "monitor", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdroprole, 314, "role", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdropschema, 314, "schema", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDropShare, 314, "share", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDropStage, 314, "stage", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdropuser, 314, "user", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstdropview, 314, "view", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstDropWarehouse, 314, "warehouse", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstGet, 486, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstGrant, 423, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstList, 529, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstList, 534, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstmerge, 418, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstSnowflakePseudoExprStmt, 540, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstPut, 535, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstRemove, 530, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstRevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstRemove, 536, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstrollback, 420, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstset, 325, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowColumns, 508, "columns", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowDatabases, 508, "databases", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowFileFormats, 508, "file", "formats", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowFunctions, 508, "functions", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowGrants, 508, "grants", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowLocks, 508, "locks", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowNetworkPolicies, 508, "network", "policies", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowObjects, 508, "objects", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowParameters, 508, "parameters", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowPipes, 508, "pipes", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowResourceMonitors, 508, "resource", "monitors", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowRoles, 508, "roles", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowSchemas, 508, "schemas", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowSequences, 508, "sequences", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowShares, 508, "shares", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowStages, 508, "stages", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowTables, 508, "tables", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowTransactions, 508, "transactions", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowUserFunctions, 508, "user", "functions", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowUsers, 508, "users", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowVariables, 508, "variables", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowViews, 508, "views", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstShowWarehouses, 508, "warehouses", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstbegintran, 312, "transaction", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstpostgresqlTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstUndropDatabase, 531, "database", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstUndropSchema, 531, "schema", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstUndropTable, 531, "table", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstunset, 537, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addsnowflakecmds(ESqlStatementType.sstUse, 458, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x0600027F RID: 639 RVA: 0x002EA514 File Offset: 0x002E8714
		internal virtual void initredshiftcmds()
		{
			this.addredshiftcmds(ESqlStatementType.sstredshiftAbort, 527, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftAbort, 527, "transaction", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftAbort, 527, "work", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftAlterGroup, 426, "group", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftAlterSchema, 426, "schema", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftAlterUser, 426, "user", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftAnalyze, 465, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftAnalyzeCompression, 465, "Compression", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftBegin, 351, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftCancel, 529, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftClose, 429, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftComment, 469, "on", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftCommit, 419, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftCopy, 533, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstcreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftCreateGroup, 307, "group", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstcreatetable, 307, "local", "table", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstcreateview, 307, "or", "replace", "view", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftCreateSchema, 307, "schema", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstcreatetable, 307, "temp", "table", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstcreatetable, 307, "temporary", "table", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftCreateUser, 307, "user", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstcreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftDeallocate, 435, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftDeclare, 315, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftDropDatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftDropGroup, 314, "group", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftDropSchema, 314, "schema", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstdroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftDropUser, 314, "user", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstdropview, 314, "view", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftEnd, 313, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstExecutePreparedStmt, 440, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstExplain, 471, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstFetchFrom, 334, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstGrant, 423, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstinsert, 302, "into", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftLock, 473, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftPrepare, 491, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftReset, 507, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstRevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftRollback, 420, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftSet, 325, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, 325, "Authorization", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftSetSessionCharacteristics, 325, "Characteristics", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftSetSessionAuthorization, 325, "local", "Authorization", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftShow, 508, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftStartTransaction, 312, "Transaction", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftUnload, 530, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addredshiftcmds(ESqlStatementType.sstredshiftVacuum, 531, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000280 RID: 640 RVA: 0x002EAF18 File Offset: 0x002E9118
		internal virtual void initgreenplumcmds()
		{
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlabort, 527, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterAggregate, 426, "aggregate", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterConversion, 426, "conversion", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlalterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterDomain, 426, "domain", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumAlterExternalTable, 426, "external", "table", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumAlterFilespace, 426, "filespace", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterGroup, 426, "group", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterIndex, 426, "index", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterLanguage, 426, "language", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperator, 426, "operator", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterOperatorClass, 426, "operator", "class", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumAlterProtocol, 426, "protocol", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumAlterResourceQueue, 426, "resource", "queue", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterRole, 426, "role", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSchema, 426, "schema", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterSequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTablespace, 426, "tablespace", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterTrigger, 426, "trigger", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterType, 426, "type", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAlterUser, 426, "user", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlAnalyze, 465, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlBegin, 351, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCheckpoint, 518, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlClose, 429, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCluster, 529, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlComment, 469, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCommit, 419, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCopy, 530, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateAggregate, 307, "aggregate", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateCast, 307, "cast", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTrigger, 307, "constraint", "trigger", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlConversion, 307, "conversion", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateDomain, 307, "domain", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, 307, "external", "table", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, 307, "external", "web", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumCreateFilespace, 307, "filespace", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, 307, "function", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "global", "temp", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "global", "temporary", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "global", "unlocked", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateGroup, 307, "group", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, 307, "index", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "language", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "local", "temp", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "local", "temporary", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "local", "unlocked", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateMaterializedView, 307, "materialized", "view", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateOperator, 307, "operator", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumCreateResourceQueue, 307, "resource", "queue", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateFunction, 307, "or", "replace", "function", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "or", "replace", "language", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRule, 307, "or", "replace", "role ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "or", "replace", "temp", "view", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "or", "replace", "temporary", "view", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "or", "replace", "trusted", "language", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "or", "replace", "view", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRole, 307, "role", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateRule, 307, "rule", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSchema, 307, "schema", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTablespace, 307, "tablespace", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, 307, "temp", "sequence", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "temp", "table", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "temp", "view", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateSequence, 307, "temporary", "sequence", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "temporary", "table", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "temporary", "view", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateTrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateLanguage, 307, "trusted", "language", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateType, 307, "type", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstcreatetable, 307, "unlocked", "table", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateUser, 307, "user", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateView, 307, "view", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlCreateIndex, 307, "unique", "index", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, 307, "writable", "external", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumCreateExternalTable, 307, "writable", "external", "web", "table", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDeallocate, 435, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDeclare, 315, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropAggregate, 314, "aggregate", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropCast, 314, "cast", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropConversion, 314, "conversion", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropDomain, 314, "domain", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, 314, "external", "table", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumDropExternalTable, 314, "external", "web", "table", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumDropFilespace, 314, "filespace", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropFunction, 314, "function", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropGroup, 314, "group", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstdropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, 314, "language", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropMaterializedView, 314, "materialized", "view", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOperator, 314, "operator", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropOwned, 314, "owned", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumDropResourceQueue, 314, "resource", "queue", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropLanguage, 314, "procedural", "language", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRole, 314, "role", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropRule, 314, "rule", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSchema, 314, "schema", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropSequence, 314, "sequence", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTable, 314, "table", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTablespace, 314, "tablespace", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropTrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropType, 314, "type", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropUser, 314, "user", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlDropView, 314, "view", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlEnd, 313, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlExecute, 440, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlExplain, 471, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstFetchFrom, 334, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlGrant, 423, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlLoad, 503, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlLock, 473, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlMove, 445, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlPrepare, 491, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlReassignOwned, 534, "owned", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlRefreshMaterializedView, 492, "materialized", "view", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlReindex, 535, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, 493, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlReleaseSavepoint, 493, "savepoint", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlReset, 507, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlRevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlRollback, 420, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSavepoint, 421, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSet, 325, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, 325, "local", "role", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, 325, "local", "session", "authorization", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, 325, "role", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, 325, "session", "authorization", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, 325, "session", "characteristics", "as", "transaction", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetRole, 325, "session", "role", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetSessionAuthorization, 325, "session", "session", "authorization", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlSetTransaction, 325, "transaction", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumShow, 508, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumStartTransaction, 312, "transaction", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstgreenplumVacuum, 548, " ", " ", " ", " ", " ", " ");
			this.addgreenplumcmds(ESqlStatementType.sstpostgresqlValues, 326, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000281 RID: 641 RVA: 0x002EC920 File Offset: 0x002EAB20
		internal virtual void initoraclecmds()
		{
			this.addoraclecmds(ESqlStatementType.sstoraclealtercluster, 426, "cluster", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterdatabase, 426, "database", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterdimension, 426, "dimension", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterdiskgroup, 426, "diskgroup", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterfunction, 426, "function", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterindex, 426, "index", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterindextype, 426, "indextype", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterjava, 426, "java", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealtermaterializedview, 426, "materialized", "view", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealtermaterializedviewlog, 426, "materialized", "view", "log", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealteroperator, 426, "operator", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealteroutline, 426, "outline", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterpackage, 426, "package", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterprocedure, 426, "procedure", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterprofile, 426, "profile", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterresourcecost, 426, "resource", "cost", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterrole, 426, "role", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterrollbacksegment, 426, "rollback", "segment", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealtersequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealtersession, 426, "session", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealtersystem, 426, "system", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstaltertable, 426, "table", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealtertablespace, 426, "tablespace", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstaltertrigger, 426, "trigger", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealtertype, 426, "type", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealteruser, 426, "user", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclealterview, 426, "view", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracleanalyze, 465, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracleassociatestatistics, 466, "statistics", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracleaudit, 467, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecall, 468, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecomment, 469, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecommit, 419, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateindex, 307, "bitmap", "index", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatecluster, 307, "cluster", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatecontext, 307, "context", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatecontrolfile, 307, "controlfile", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createfunction, 307, "editionable", "function", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createpackage, 307, "editionable", "package", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, 307, "editionable", "package", "body", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createprocedure, 307, "editionable", "procedure", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatedatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatedatabaselink, 307, "database", "link", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatedimension, 307, "dimension", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, 307, "directory", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatediskgroup, 307, "diskgroup", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateview, 307, "force", "view", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createfunction, 307, "function", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstcreatetable, 307, "global", "temp", "table", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstcreatetable, 307, "global", "temporary", "table", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateindex, 307, "index", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateindextype, 307, "indextype", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatejava, 307, "java", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, 307, "library", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstcreatematerializedview, 307, "materialized", "view", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatematerializedviewlog, 307, "materialized", "view", "log", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateview, 307, "noforce", "view", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createfunction, 307, "noneditionable", "function", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createpackage, 307, "noneditionable", "package", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, 307, "noneditionable", "package", "body", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createprocedure, 307, "noneditionable", "procedure", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateoperator, 307, "operator", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatecontext, 307, "or", "replace", "context", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createfunction, 307, "or", "replace", "editionable", "function", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createpackage, 307, "or", "replace", "editionable", "package", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, 307, "or", "replace", "editionable", "package", "body", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createprocedure, 307, "or", "replace", "editionable", "procedure", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatedirectory, 307, "or", "replace", "directory", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateview, 307, "or", "replace", "force", "view", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createfunction, 307, "or", "replace", "function", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatelibrary, 307, "or", "replace", "library", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateview, 307, "or", "replace", "noforce", "view", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createfunction, 307, "or", "replace", "noneditionable", "function", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createpackage, 307, "or", "replace", "noneditionable", "package", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, 307, "or", "replace", "noneditionable", "package", "body", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createprocedure, 307, "or", "replace", "noneditionable", "procedure", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createpackage, 307, "or", "replace", "package", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, 307, "or", "replace", "package", "body", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createprocedure, 307, "or", "replace", "procedure", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, 307, "or", "replace", "public", "synonym", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, 307, "or", "replace", "synonym", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createtrigger, 307, "or", "replace", "trigger", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, 307, "or", "replace", "type", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createtypebody, 307, "or", "replace", "type", "body", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateview, 307, "or", "replace", "view", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateoutline, 307, "outline", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createpackage, 307, "package", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, 307, "package", "body", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepfile, 307, "pfile", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createprocedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateprofile, 307, "profile", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, 307, "public", "synonym", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreaterestorepoint, 307, "resotre", "point", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreaterole, 307, "role", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreaterollbacksegment, 307, "rollback", "segment", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateschema, 307, "schema", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatesequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatespfile, 307, "spfile", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatesynonym, 307, "synonym", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatetablespace, 307, "tablespace", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createtrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, 307, "type", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createtypebody, 307, "type", "body", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateindex, 307, "unique", "index", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateuser, 307, "user", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreateview, 307, "view", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createpackage, 529, "package", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclecreatepackagebody, 529, "package", "body", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledisassociatestatistics, 470, "statistics", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropcluster, 314, "cluster", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropcontext, 314, "context", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropdatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropdatabaselink, 314, "database", "link", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropdimension, 314, "dimension", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropdirectory, 314, "directory", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropdiskgroup, 314, "diskgroup", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropfunction, 314, "function", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropindex, 314, "index", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropindextype, 314, "indextype", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropjava, 314, "java", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroplibrary, 314, "library", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropmaterializedview, 314, "materialized", "view", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropmaterializedviewlog, 314, "materialized", "view", "log", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropoperator, 314, "operator", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropoutline, 314, "outline", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroppackage, 314, "package", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropprocedure, 314, "procedure", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropprofile, 314, "profile", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropsynonym, 314, "public", "synonym", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroprestorepoint, 314, "restore", "point", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroprole, 314, "role", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroprollbacksegment, 314, "rollback", "segment", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropsequence, 314, "sequence", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropsynonym, 314, "synonym", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroptable, 314, "table", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroptablespace, 314, "tablespace", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroptrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroptype, 314, "type", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledroptypebody, 314, "type", "body", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropuser, 314, "user", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracledropview, 314, "view", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracleexecuteprocedure, 440, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_execimmestmt, 440, "immediate", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstExplain, 471, "plan", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracleflashbackdatabase, 472, "database", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoracleflashbacktable, 472, "table", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclegrant, 423, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclelocktable, 473, "table", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstmerge, 418, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclenoaudit, 474, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclepurge, 475, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclerename, 476, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclerevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclerollback, 420, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclesavepoint, 421, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclesetconstraint, 325, "constraint", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclesetconstraint, 325, "constraints", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclesetrole, 325, "role", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstoraclesettransaction, 325, "transaction", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstplsql_createtype_placeholder, 540, " ", " ", " ", " ", " ", " ");
			this.addoraclecmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000282 RID: 642 RVA: 0x002EE68C File Offset: 0x002EC88C
		internal virtual void initinformixcmds()
		{
			this.addinformixcmds(ESqlStatementType.sstinformixAllocateCollection, 480, "collection", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAllocateDescriptor, 480, "descriptor", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterAccess_Method, 426, "access_method", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterFragment, 426, "fragment", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterFunction, 426, "function", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterIndex, 426, "index", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterProcedure, 426, "procedure", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterRoutine, 426, "routine", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterSecurityLabelComponent, 426, "security", "label", "component", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterSequence, 426, "sequence", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterTable, 426, "table", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterTrustedContext, 426, "trusted", "context", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixAlterUser, 426, "user", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixBegin, 351, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixClose, 429, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCloseDatabase, 429, "database", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCommit, 419, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixConnect, 276, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateAccess_Method, 307, "access_method", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateAggregate, 307, "aggregate", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateCast, 307, "cast", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateIndex, 307, "cluster", "index", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateDatabase, 307, "database", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateFunction, 307, "dba", "function", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, 307, "dba", "procedure", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateDefaultUser, 307, "default", "user", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateIndex, 307, "distinct", "cluster", "index", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateIndex, 307, "distinct", "index", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateDistinctType, 307, "distinct", "type", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateExternalTable, 307, "external", "table", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateFunction, 307, "function", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateFunctionFrom, 307, "function", "from", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateIndex, 307, "index", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateOpaqueType, 307, "opaque", "type", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateOpclass, 307, "opclass", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, 307, "private", "synonym", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateProcedure, 307, "procedure", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateProcedureFrom, 307, "procedure", "from", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, 307, "public", "synonym", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstcreatetable, 307, "raw", "table", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateRole, 307, "role", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateRoutineFrom, 307, "routine", "from", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateRowType, 307, "row", "type", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSchema, 307, "schema", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabel, 307, "security", "label", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSecurityLabelComponent, 307, "security", "label", "component", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSecurityPolicy, 307, "security", "policy", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSequence, 307, "sequence", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstcreatetable, 307, "standard", "table", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateSynonym, 307, "synonym", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstcreatetable, 307, "table", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateTempTable, 307, "temp", "table", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateTrigger, 307, "trigger", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateTrustedContext, 307, "trusted", "context", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateIndex, 307, "unique", "cluster", "index", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateIndex, 307, "unique", "index", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateUser, 307, "user", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateView, 307, "view", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasource, 307, "xadatasource", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixCreateXaDatasourceType, 307, "xadatasource", "type", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDatabase, 425, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDeallocateCollection, 435, "collection", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDeallocateDescriptor, 435, "descriptor", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDeallocateRow, 435, "row", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDeclare, 315, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstdelete, 303, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDescribe, 482, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDescribeInput, 482, "input", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDisconnect, 483, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropAccess_Method, 314, "access_method", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropAggregate, 314, "aggregate", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropCast, 314, "cast", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropDatabase, 314, "database", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropFunction, 314, "function", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropIndex, 314, "index", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropOpclass, 314, "opclass", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropProcedure, 314, "procedure", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropRole, 314, "role", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropRoutine, 314, "routine", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropRowType, 314, "row", "type", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropSecurity, 314, "security", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropSequence, 314, "sequence", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropSynonym, 314, "synonym", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropTable, 314, "table", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropTrigger, 314, "trigger", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropTrustedContext, 314, "trusted", "context", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropType, 314, "type", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropUser, 314, "user", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropView, 314, "view", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropXaDatasource, 314, "xadatasource", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixDropXaDatasourceType, 314, "xadatasource", "type", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixExecute, 439, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixExecute, 440, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixExecuteFunction, 440, "function", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixExecuteImmediate, 440, "immediate", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixExecuteProcedure, 440, "procedure", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixFetch, 334, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixFlush, 484, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixFree, 485, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixGetDescriptor, 486, "descriptor", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixGetDiagnostics, 486, "diagnostics", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixGrant, 423, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixGrantFragment, 423, "fragment", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixInfo, 536, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinsert, 302, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixLoad, 503, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixLockTable, 473, "table", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstmerge, 418, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixOpen, 443, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixOutput, 535, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixPrepare, 491, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixPut, 534, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixReleaseSavepoint, 493, "savepoint", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameColumn, 476, "column", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameDatabase, 476, "database", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameIndex, 476, "index", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameSecurity, 476, "security", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameSequence, 476, "sequence", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameTable, 476, "table", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameTrustedContext, 476, "trusted", "context", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRenameUser, 476, "user", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRevoke, 422, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRevokeFragment, 422, "fragment", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixRollbackWork, 420, "work", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSaveExternalDirectives, 444, "external", "directives", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSavepoint, 421, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstselect, 301, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetAutofree, 325, "autofree", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetCollation, 325, "collation", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetConnection, 325, "connection", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetConstraints, 325, "constraints", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetDatabaseObject, 325, "database", "object", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetDataskip, 325, "dataskip", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetDebugFile, 325, "debug", "file", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetDeferred_Prepare, 325, "defferred_prepare", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetDescriptor, 325, "descriptor", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetEncryptionPassword, 325, "encryption", "password", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetEnvironment, 325, "environment", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetExplain, 325, "explain", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetIndexes, 325, "indexes", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetIsolation, 325, "isolation", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetLockMode, 325, "lock", "mode", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetLog, 325, "log", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetOptimization, 325, "optimization", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetPDQPriority, 325, "pdqpriority", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetRole, 325, "role", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetSessionAuthorization, 325, "session", "authorization", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetStatementCache, 325, "statement", "cache", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetTransaction, 325, "transaction", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetTransactionMode, 325, "transaction", "mode", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetTriggers, 325, "triggers", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixSetUserPassword, 325, "user", "password", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixStartViolationsTable, 312, "violations", "table", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixStopViolationsTable, 509, "violations", "table", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstTruncate, 424, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixUnload, 532, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixUnlockTable, 510, "table", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstupdate, 304, " ", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixUpdateStatistics, 304, "statistics", " ", " ", " ", " ", " ");
			this.addinformixcmds(ESqlStatementType.sstinformixWhenever, 533, " ", " ", " ", " ", " ", " ");
		}

		// Token: 0x06000283 RID: 643 RVA: 0x002F0337 File Offset: 0x002EE537
		internal virtual ESqlStatementType findsybasecmd(TSourceToken ptoken)
		{
			if (this.sybasecmds.Count == 0)
			{
				this.initsybasecmds();
			}
			return this.finddbcmd(ptoken, this.sybasecmds);
		}

		// Token: 0x06000284 RID: 644 RVA: 0x002F0359 File Offset: 0x002EE559
		internal virtual ESqlStatementType findmssqlcmd(TSourceToken ptoken)
		{
			if (this.mssqlcmds.Count == 0)
			{
				this.initmssqlcmds();
			}
			return this.finddbcmd(ptoken, this.mssqlcmds);
		}

		// Token: 0x06000285 RID: 645 RVA: 0x002F037B File Offset: 0x002EE57B
		internal virtual ESqlStatementType findteradatacmd(TSourceToken ptoken)
		{
			if (this.teradatacmds.Count == 0)
			{
				this.initteradatacmds();
			}
			return this.finddbcmd(ptoken, this.teradatacmds);
		}

		// Token: 0x06000286 RID: 646 RVA: 0x002F039D File Offset: 0x002EE59D
		internal virtual ESqlStatementType findpostgresqlcmd(TSourceToken ptoken)
		{
			if (this.postgresqlcmds.Count == 0)
			{
				this.initpostgresqlcmds();
			}
			return this.finddbcmd(ptoken, this.postgresqlcmds);
		}

		// Token: 0x06000287 RID: 647 RVA: 0x002F03BF File Offset: 0x002EE5BF
		internal virtual ESqlStatementType findsnowflakecmd(TSourceToken ptoken)
		{
			if (this.snowflakecmds.Count == 0)
			{
				this.initsnowflakecmds();
			}
			return this.finddbcmd(ptoken, this.snowflakecmds);
		}

		// Token: 0x06000288 RID: 648 RVA: 0x002F03E1 File Offset: 0x002EE5E1
		internal virtual ESqlStatementType findredshiftcmd(TSourceToken ptoken)
		{
			if (this.redshiftcmds.Count == 0)
			{
				this.initredshiftcmds();
			}
			return this.finddbcmd(ptoken, this.redshiftcmds);
		}

		// Token: 0x06000289 RID: 649 RVA: 0x002F0403 File Offset: 0x002EE603
		internal virtual ESqlStatementType findgreenplumcmd(TSourceToken ptoken)
		{
			if (this.greenplumcmds.Count == 0)
			{
				this.initgreenplumcmds();
			}
			return this.finddbcmd(ptoken, this.greenplumcmds);
		}

		// Token: 0x0600028A RID: 650 RVA: 0x002F0425 File Offset: 0x002EE625
		internal virtual ESqlStatementType findnetezzacmd(TSourceToken ptoken)
		{
			if (this.netezzacmds.Count == 0)
			{
				this.initnetezzacmds();
			}
			return this.finddbcmd(ptoken, this.netezzacmds);
		}

		// Token: 0x0600028B RID: 651 RVA: 0x002F0447 File Offset: 0x002EE647
		internal virtual ESqlStatementType findmysqlcmd(TSourceToken ptoken)
		{
			if (this.mysqlcmds.Count == 0)
			{
				this.initmysqlcmds();
			}
			return this.finddbcmd(ptoken, this.mysqlcmds);
		}

		// Token: 0x0600028C RID: 652 RVA: 0x002F0469 File Offset: 0x002EE669
		internal virtual ESqlStatementType findhivecmd(TSourceToken ptoken)
		{
			if (this.hivecmds.Count == 0)
			{
				this.inithivecmds();
			}
			return this.finddbcmd(ptoken, this.hivecmds);
		}

		// Token: 0x0600028D RID: 653 RVA: 0x002F048B File Offset: 0x002EE68B
		internal virtual ESqlStatementType finddb2cmd(TSourceToken ptoken)
		{
			if (this.db2cmds.Count == 0)
			{
				this.initdb2cmds();
			}
			return this.finddbcmd(ptoken, this.db2cmds);
		}

		// Token: 0x0600028E RID: 654 RVA: 0x002F04AD File Offset: 0x002EE6AD
		internal virtual ESqlStatementType findoraclecmd(TSourceToken ptoken)
		{
			if (this.oraclecmds.Count == 0)
			{
				this.initoraclecmds();
			}
			return this.finddbcmd(ptoken, this.oraclecmds);
		}

		// Token: 0x0600028F RID: 655 RVA: 0x002F04CF File Offset: 0x002EE6CF
		internal virtual ESqlStatementType findmdxcmd(TSourceToken ptoken)
		{
			if (this.mdxcmds.Count == 0)
			{
				this.initmdxcmds();
			}
			return this.finddbcmd(ptoken, this.mdxcmds);
		}

		// Token: 0x06000290 RID: 656 RVA: 0x002F04F1 File Offset: 0x002EE6F1
		internal virtual ESqlStatementType findinformixcmd(TSourceToken ptoken)
		{
			if (this.informixcmds.Count == 0)
			{
				this.initinformixcmds();
			}
			return this.finddbcmd(ptoken, this.informixcmds);
		}

		// Token: 0x06000291 RID: 657 RVA: 0x002F0514 File Offset: 0x002EE714
		internal virtual TCustomSqlStatement isnetezza(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findnetezzacmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstnetezzaAlterTable)
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstinvalid:
					tcustomSqlStatement = null;
					if (pstate == EFindSqlStateType.stnormal)
					{
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				case ESqlStatementType.sstselect:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 342)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 354)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 353)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 352)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 427)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 341)
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
								{
									flag = false;
								}
							}
							if (flag && tsourceToken.tokencode == 339)
							{
								TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
								if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
								{
									flag = false;
								}
							}
						}
						if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
						{
							flag = false;
						}
					}
					if (flag)
					{
						return new TSelectSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstdelete:
				{
					bool flag2 = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						tsourceToken = container.solidtokenbefore(posinlist);
						if (tsourceToken != null && tsourceToken.tokencode == 323)
						{
							flag2 = false;
						}
					}
					if (flag2)
					{
						return new TDeleteSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstupdate:
				{
					bool flag3 = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						tsourceToken = container.solidtokenbefore(posinlist);
						if (tsourceToken != null)
						{
							if (tsourceToken.tokencode == 323)
							{
								flag3 = false;
							}
							else if (tsourceToken.tokencode == 306)
							{
								flag3 = false;
							}
						}
						TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
						if (tsourceToken3 != null && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
						{
							flag3 = false;
						}
					}
					if (flag3)
					{
						tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstinsert:
				{
					bool flag4 = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
					}
					if (flag4)
					{
						return new TInsertSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstcreatetable:
					break;
				case ESqlStatementType.sstcreateview:
					return new TCreateViewSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreatedatabase:
					return new TCreateDatabaseSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreateindex:
				case ESqlStatementType.sstcreatesequence:
				case ESqlStatementType.sstcreatesynonym:
				case ESqlStatementType.sstalterdatabase:
				case ESqlStatementType.sstalterindex:
				case ESqlStatementType.sstaltertrigger:
				case ESqlStatementType.sstalterview:
				case ESqlStatementType.sstdropindex:
				case ESqlStatementType.sstdropschema:
				case ESqlStatementType.sstdropsequence:
				case ESqlStatementType.sstdropsynonym:
				case ESqlStatementType.sstmerge:
					goto IL_407;
				case ESqlStatementType.sstcreatematerializedview:
					return new TCreateMaterializedSqlStatement(pdbvendor);
				case ESqlStatementType.sstaltertable:
					return new TAlterTableStatement(pdbvendor);
				case ESqlStatementType.sstaltersession:
					return new TAlterSessionStatement(pdbvendor);
				case ESqlStatementType.sstdropview:
					return new TDropViewSqlStatement(pdbvendor);
				case ESqlStatementType.sstdroptable:
					return new TDropTableSqlStatement(pdbvendor);
				case ESqlStatementType.sstTruncate:
					tcustomSqlStatement = new TTruncateStatement(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				default:
					if (esqlStatementType != ESqlStatementType.sstnetezzaAlterTable)
					{
						goto IL_407;
					}
					return new TAlterTableStatement(pdbvendor);
				}
			}
			else
			{
				if (esqlStatementType - ESqlStatementType.sstnetezzaComment <= 1)
				{
					goto IL_407;
				}
				if (esqlStatementType != ESqlStatementType.sstnetezzaCreateExternalTable)
				{
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstnetezzaGenerateStatistics:
						return new TNetezzaGenerateStatistics(pdbvendor);
					case ESqlStatementType.sstnetezzaGrant:
					case ESqlStatementType.sstnetezzaReset:
					case ESqlStatementType.sstnetezzaRevoke:
					case ESqlStatementType.sstnetezzaRollback:
					case ESqlStatementType.sstnetezzaSet:
					case ESqlStatementType.sstnetezzaShow:
						goto IL_407;
					case ESqlStatementType.sstnetezzaGroomTable:
						return new TNetezzaGroomTable(pdbvendor);
					case ESqlStatementType.sstnetezzaDropSchema:
						return new TDropSchemaSqlStatement(pdbvendor);
					default:
						goto IL_407;
					}
				}
			}
			return new TCreateTableSqlStatement(pdbvendor);
			IL_407:
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000292 RID: 658 RVA: 0x002F093C File Offset: 0x002EEB3C
		internal virtual TCustomSqlStatement issnowflake(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findsnowflakecmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstoracledropindex)
			{
				if (esqlStatementType <= ESqlStatementType.sstcommit)
				{
					if (esqlStatementType <= ESqlStatementType.sstRevoke)
					{
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstinvalid:
							tcustomSqlStatement = null;
							if (pstate != EFindSqlStateType.stnormal)
							{
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 270)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 315)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 351)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 477)
							{
								tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 478)
							{
								tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 479)
							{
								tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						case ESqlStatementType.sstselect:
						{
							bool flag = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								if (tsourceToken != null)
								{
									if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 342)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 354)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 353)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 352)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 427)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 341)
									{
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
										{
											flag = false;
										}
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
										{
											flag = false;
										}
									}
									if (flag && tsourceToken.tokencode == 339)
									{
										TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
										if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
										{
											flag = false;
										}
									}
								}
								if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
								{
									flag = false;
								}
							}
							if (flag)
							{
								return new TSelectSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstdelete:
						{
							bool flag2 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null && tsourceToken.tokencode == 323)
								{
									flag2 = false;
								}
							}
							if (flag2)
							{
								return new TDeleteSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstupdate:
						{
							bool flag3 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null)
								{
									if (tsourceToken.tokencode == 323)
									{
										flag3 = false;
									}
									else if (tsourceToken.tokencode == 306)
									{
										flag3 = false;
									}
								}
								TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
								if (tsourceToken3 != null && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
								{
									flag3 = false;
								}
							}
							if (flag3)
							{
								tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
								tcustomSqlStatement.DummyTag = 1;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstinsert:
						{
							bool flag4 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
							}
							if (flag4)
							{
								return new TInsertSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstcreatetable:
							return new TCreateTableSqlStatement(pdbvendor);
						case ESqlStatementType.sstcreateview:
							return new TCreateViewSqlStatement(pdbvendor);
						case ESqlStatementType.sstcreatedatabase:
							return new TCreateDatabaseSqlStatement(pdbvendor);
						case ESqlStatementType.sstcreateindex:
						case ESqlStatementType.sstcreatesynonym:
						case ESqlStatementType.sstalterindex:
						case ESqlStatementType.sstaltertrigger:
						case ESqlStatementType.sstdropindex:
						case ESqlStatementType.sstdropsequence:
						case ESqlStatementType.sstdropsynonym:
							break;
						case ESqlStatementType.sstcreatematerializedview:
							return new TCreateMaterializedSqlStatement(pdbvendor);
						case ESqlStatementType.sstcreatesequence:
							return new TCreateSequenceStmt(pdbvendor);
						case ESqlStatementType.sstaltertable:
							return new TAlterTableStatement(pdbvendor);
						case ESqlStatementType.sstalterdatabase:
							return new TAlterDatabaseStmt(pdbvendor);
						case ESqlStatementType.sstaltersession:
							return new TAlterSessionStatement(pdbvendor);
						case ESqlStatementType.sstalterview:
							return new TAlterViewStatement(pdbvendor);
						case ESqlStatementType.sstdropview:
							return new TDropViewSqlStatement(pdbvendor);
						case ESqlStatementType.sstdroptable:
							return new TDropTableSqlStatement(pdbvendor);
						case ESqlStatementType.sstdropschema:
							return new TDropSchemaSqlStatement(pdbvendor);
						case ESqlStatementType.sstmerge:
							tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstTruncate:
							return new TTruncateStatement(pdbvendor);
						default:
							if (esqlStatementType == ESqlStatementType.sstGrant)
							{
								return new TGrantStmt(pdbvendor);
							}
							if (esqlStatementType == ESqlStatementType.sstRevoke)
							{
								return new TRevokeStmt(pdbvendor);
							}
							break;
						}
					}
					else if (esqlStatementType <= ESqlStatementType.sstaltersequence)
					{
						if (esqlStatementType == ESqlStatementType.sstcall)
						{
							return new TCallStatement(pdbvendor);
						}
						if (esqlStatementType == ESqlStatementType.sstaltersequence)
						{
							return new TAlterSequenceStatement(pdbvendor);
						}
					}
					else
					{
						if (esqlStatementType == ESqlStatementType.sstplsql_createfunction)
						{
							tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						if (esqlStatementType == ESqlStatementType.sstcommit)
						{
							return new TCommitStmt(pdbvendor);
						}
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclecommit)
				{
					if (esqlStatementType == ESqlStatementType.sstrollback)
					{
						return new TRollbackStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclealtersession)
					{
						return new TAlterSessionStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecommit)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclecreatesequence)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreateindex)
					{
						return new TCreateIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreatesequence)
					{
						return new TCreateSequenceStmt(pdbvendor);
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreateview)
					{
						return new TCreateViewSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledropindex)
					{
						return new TDropIndexSqlStatement(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstpostgresqlCreateIndex)
			{
				if (esqlStatementType <= ESqlStatementType.sstoraclegrant)
				{
					if (esqlStatementType == ESqlStatementType.sstoracledroptable)
					{
						return new TDropTableSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledropview)
					{
						return new TDropViewSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclegrant)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclerollback)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclerevoke)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					if (esqlStatementType == ESqlStatementType.sstoraclerollback)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateFunction)
					{
						return new TPostgresqlCreateFunction(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateIndex)
					{
						return new TCreateIndexSqlStatement(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstdropuser)
			{
				if (esqlStatementType <= ESqlStatementType.sstpostgresqlDropTable)
				{
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateView)
					{
						return new TCreateViewSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstpostgresqlDropTable)
					{
						return new TDropTableSqlStatement(pdbvendor);
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstpostgresqlTruncate)
					{
						return new TTruncateStatement(pdbvendor);
					}
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstCommentOn:
						return new TCommentOnSqlStmt(pdbvendor);
					case ESqlStatementType.sstAlterAccount:
						return new TAlterAccountStmt(pdbvendor);
					case ESqlStatementType.sstAlterFileFormat:
						return new TAlterFileFormatStmt(pdbvendor);
					case ESqlStatementType.sstAlterNetworkPolicy:
						return new TAlterNetworkPolicyStmt(pdbvendor);
					case ESqlStatementType.sstAlterPipe:
						return new TAlterPipeStmt(pdbvendor);
					case ESqlStatementType.sstAlterResourceMonitor:
						return new TAlterResourceMonitorStmt(pdbvendor);
					case ESqlStatementType.sstAlterShare:
						return new TAlterShareStmt(pdbvendor);
					case ESqlStatementType.sstAlterStage:
						return new TAlterStageStmt(pdbvendor);
					case ESqlStatementType.sstAlterWarehouse:
						return new TAlterWarehouseStmt(pdbvendor);
					case ESqlStatementType.sstCopyInto:
						return new TCopyIntoStmt(pdbvendor);
					case ESqlStatementType.sstCreateFileFormat:
						return new TCreateFileFormatStmt(pdbvendor);
					case ESqlStatementType.sstCreateNetworkPolicy:
						return new TCreateNetworkPolicyStmt(pdbvendor);
					case ESqlStatementType.sstCreatePipe:
						return new TCreatePipeStmt(pdbvendor);
					case ESqlStatementType.sstCreateResourceMonitor:
						return new TCreateResourceMonitorStmt(pdbvendor);
					case ESqlStatementType.sstCreateShare:
						return new TCreateShareStmt(pdbvendor);
					case ESqlStatementType.sstCreateStage:
						return new TCreateStageStmt(pdbvendor);
					case ESqlStatementType.sstCreateStream:
						return new TCreateStreamStmt(pdbvendor);
					case ESqlStatementType.sstCreateWarehouse:
						return new TCreateWarehouseStmt(pdbvendor);
					case ESqlStatementType.sstDescFileFormat:
					case ESqlStatementType.sstDescFunction:
					case ESqlStatementType.sstDescNetworkPolicy:
					case ESqlStatementType.sstDescPipe:
					case ESqlStatementType.sstDescResult:
					case ESqlStatementType.sstDescShare:
					case ESqlStatementType.sstDescStage:
					case ESqlStatementType.sstDescTable:
					case ESqlStatementType.sstDescUser:
					case ESqlStatementType.sstDescView:
						return new TDescribeStmt(pdbvendor);
					case ESqlStatementType.sstDropFileFormat:
						tcustomSqlStatement = new TDropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstDropNetworkPolicy:
						tcustomSqlStatement = new TDropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstDropPipe:
						tcustomSqlStatement = new TDropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstDropResourceMonitor:
						tcustomSqlStatement = new TDropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstDropShare:
						tcustomSqlStatement = new TDropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstDropStage:
						tcustomSqlStatement = new TDropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstDropWarehouse:
						tcustomSqlStatement = new TDropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstGet:
						return new TGetStmt(pdbvendor);
					case ESqlStatementType.sstList:
						return new TListStmt(pdbvendor);
					case ESqlStatementType.sstPut:
						return new TPutStmt(pdbvendor);
					case ESqlStatementType.sstRemove:
						return new TRemoveStmt(pdbvendor);
					case ESqlStatementType.sstShowColumns:
					case ESqlStatementType.sstShowDatabases:
					case ESqlStatementType.sstShowFileFormats:
					case ESqlStatementType.sstShowFunctions:
					case ESqlStatementType.sstShowGrants:
					case ESqlStatementType.sstShowNetworkPolicies:
					case ESqlStatementType.sstShowObjects:
					case ESqlStatementType.sstShowParameters:
					case ESqlStatementType.sstShowPipes:
					case ESqlStatementType.sstShowResourceMonitors:
					case ESqlStatementType.sstShowRoles:
					case ESqlStatementType.sstShowSchemas:
					case ESqlStatementType.sstShowSequences:
					case ESqlStatementType.sstShowShares:
					case ESqlStatementType.sstShowStages:
					case ESqlStatementType.sstShowTables:
					case ESqlStatementType.sstShowTransactions:
					case ESqlStatementType.sstShowUserFunctions:
					case ESqlStatementType.sstShowUsers:
					case ESqlStatementType.sstShowVariables:
					case ESqlStatementType.sstShowViews:
					case ESqlStatementType.sstShowWarehouses:
						tcustomSqlStatement = new TShowStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstUndropDatabase:
					case ESqlStatementType.sstUndropSchema:
					case ESqlStatementType.sstUndropTable:
						tcustomSqlStatement = new TUndropStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstSnowflakePseudoExprStmt:
						return new TPseudoExprStmt(pdbvendor);
					case ESqlStatementType.sstalterfunction:
						return new TAlterFunctionStmt(pdbvendor);
					case ESqlStatementType.sstalteruser:
						return new TAlterUserStmt(pdbvendor);
					case ESqlStatementType.sstcomment:
						return new TCommentOnSqlStmt(pdbvendor);
					case ESqlStatementType.sstcreatefunction:
						return new TCreateFunctionStmt(pdbvendor);
					case ESqlStatementType.sstcreateprocedure:
						return new TCreateProcedureStmt(pdbvendor);
					case ESqlStatementType.sstcreateuser:
						return new TCreateUserStmt(pdbvendor);
					case ESqlStatementType.sstcreaterole:
						return new TCreateRoleStmt(pdbvendor);
					case ESqlStatementType.sstcreateschema:
						return new TCreateSchemaSqlStatement(pdbvendor);
					case ESqlStatementType.sstdropdatabase:
						return new TDropDatabaseStmt(pdbvendor);
					case ESqlStatementType.sstdropfunction:
						return new TDropFunctionStmt(pdbvendor);
					case ESqlStatementType.sstdroprole:
						return new TDropRoleStmt(pdbvendor);
					case ESqlStatementType.sstdropuser:
						return new TDropUserStmt(pdbvendor);
					}
				}
			}
			else
			{
				if (esqlStatementType > ESqlStatementType.sstunset)
				{
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstAlterRole:
						return new TAlterRoleStmt(pdbvendor);
					case ESqlStatementType.sstAlterSchema:
						return new TAlterSchemaStmt(pdbvendor);
					case ESqlStatementType.sstAlterSubnet:
						goto IL_CD3;
					case ESqlStatementType.sstBegin:
						break;
					default:
						if (esqlStatementType != ESqlStatementType.sstbegintran)
						{
							goto IL_CD3;
						}
						break;
					}
					return new TBeginTran(pdbvendor);
				}
				if (esqlStatementType == ESqlStatementType.sstset)
				{
					return new TSetStmt(pdbvendor);
				}
				if (esqlStatementType == ESqlStatementType.sstunset)
				{
					return new TUnsetStmt(pdbvendor);
				}
			}
			IL_CD3:
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000293 RID: 659 RVA: 0x002F1630 File Offset: 0x002EF830
		internal virtual TCustomSqlStatement isredshift(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findredshiftcmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstTruncate)
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstinvalid:
					return null;
				case ESqlStatementType.sstselect:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 342)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 354)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 353)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 352)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 427)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 341)
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
								{
									flag = false;
								}
							}
							if (flag && tsourceToken.tokencode == 339)
							{
								TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
								if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
								{
									flag = false;
								}
							}
						}
						if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
						{
							flag = false;
						}
					}
					if (flag)
					{
						return new TSelectSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstdelete:
				{
					bool flag2 = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						tsourceToken = container.solidtokenbefore(posinlist);
						if (tsourceToken != null && tsourceToken.tokencode == 323)
						{
							flag2 = false;
						}
					}
					if (flag2)
					{
						return new TDeleteSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstupdate:
				{
					bool flag3 = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						tsourceToken = container.solidtokenbefore(posinlist);
						if (tsourceToken != null)
						{
							if (tsourceToken.tokencode == 323)
							{
								flag3 = false;
							}
							else if (tsourceToken.tokencode == 306)
							{
								flag3 = false;
							}
						}
						TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
						if (tsourceToken3 != null && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
						{
							flag3 = false;
						}
					}
					if (flag3)
					{
						tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstinsert:
				{
					bool flag4 = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
					}
					if (flag4)
					{
						return new TInsertSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstcreatetable:
					return new TCreateTableSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreateview:
					return new TCreateViewSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreatedatabase:
					return new TCreateDatabaseSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreateindex:
				case ESqlStatementType.sstcreatematerializedview:
				case ESqlStatementType.sstcreatesequence:
				case ESqlStatementType.sstcreatesynonym:
				case ESqlStatementType.sstalterindex:
				case ESqlStatementType.sstaltersession:
				case ESqlStatementType.sstaltertrigger:
				case ESqlStatementType.sstalterview:
				case ESqlStatementType.sstdropindex:
					break;
				case ESqlStatementType.sstaltertable:
					return new TAlterTableStatement(pdbvendor);
				case ESqlStatementType.sstalterdatabase:
					return new TAlterDatabaseStmt(pdbvendor);
				case ESqlStatementType.sstdropview:
					return new TDropViewSqlStatement(pdbvendor);
				case ESqlStatementType.sstdroptable:
					return new TDropTableSqlStatement(pdbvendor);
				default:
					if (esqlStatementType == ESqlStatementType.sstTruncate)
					{
						return new TTruncateStatement(pdbvendor);
					}
					break;
				}
			}
			else
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstGrant:
					return new TGrantStmt(pdbvendor);
				case ESqlStatementType.sstRevoke:
					return new TRevokeStmt(pdbvendor);
				case ESqlStatementType.sstExplain:
					return new TExplainPlan(pdbvendor);
				case ESqlStatementType.sstExecutePreparedStmt:
					return new TExecutePreparedStatement(pdbvendor);
				case ESqlStatementType.sstrename:
				case ESqlStatementType.sstUseDatabase:
				case ESqlStatementType.sstcall:
					break;
				case ESqlStatementType.sstFetchFrom:
					return new TFetchFromStmt(pdbvendor);
				default:
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstredshiftAbort:
						tcustomSqlStatement = new TRedshiftAbort(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstredshiftAlterGroup:
						return new TRedshiftAlterGroup(pdbvendor);
					case ESqlStatementType.sstredshiftAlterSchema:
						return new TRedshiftAlterSchema(pdbvendor);
					case ESqlStatementType.sstredshiftAlterUser:
						return new TRedshiftAlterUser(pdbvendor);
					case ESqlStatementType.sstredshiftAnalyze:
						return new TRedshiftAnalyze(pdbvendor);
					case ESqlStatementType.sstredshiftAnalyzeCompression:
						return new TRedshiftAnalyzeCompression(pdbvendor);
					case ESqlStatementType.sstredshiftBegin:
						return new TRedshiftBegin(pdbvendor);
					case ESqlStatementType.sstredshiftCancel:
						return new TRedshiftCancel(pdbvendor);
					case ESqlStatementType.sstredshiftClose:
						return new TRedshiftClose(pdbvendor);
					case ESqlStatementType.sstredshiftComment:
						return new TRedshiftComment(pdbvendor);
					case ESqlStatementType.sstredshiftCommit:
						return new TRedshiftCommit(pdbvendor);
					case ESqlStatementType.sstredshiftCopy:
						return new TRedshiftCopy(pdbvendor);
					case ESqlStatementType.sstredshiftCreateGroup:
						return new TRedshiftCreateGroup(pdbvendor);
					case ESqlStatementType.sstredshiftCreateSchema:
						return new TRedshiftCreateSchema(pdbvendor);
					case ESqlStatementType.sstredshiftCreateUser:
						return new TRedshiftCreateUser(pdbvendor);
					case ESqlStatementType.sstredshiftDeallocate:
						return new TRedshiftDeallocate(pdbvendor);
					case ESqlStatementType.sstredshiftDeclare:
						return new TRedshiftDeclare(pdbvendor);
					case ESqlStatementType.sstredshiftDropDatabase:
						return new TRedshiftDropDatabase(pdbvendor);
					case ESqlStatementType.sstredshiftDropGroup:
						return new TRedshiftDropGroup(pdbvendor);
					case ESqlStatementType.sstredshiftDropSchema:
						return new TRedshiftDropSchema(pdbvendor);
					case ESqlStatementType.sstredshiftDropUser:
						return new TRedshiftDropUser(pdbvendor);
					case ESqlStatementType.sstredshiftEnd:
						return new TRedshiftEnd(pdbvendor);
					case ESqlStatementType.sstredshiftLock:
						return new TRedshiftLock(pdbvendor);
					case ESqlStatementType.sstredshiftPrepare:
						return new TRedshiftPrepare(pdbvendor);
					case ESqlStatementType.sstredshiftReset:
						return new TRedshiftReset(pdbvendor);
					case ESqlStatementType.sstredshiftRollback:
						return new TRedshiftRollback(pdbvendor);
					case ESqlStatementType.sstredshiftSet:
						return new TRedshiftSet(pdbvendor);
					case ESqlStatementType.sstredshiftSetSessionAuthorization:
						return new TRedshiftSessionAuthorization(pdbvendor);
					case ESqlStatementType.sstredshiftShow:
						return new TRedshiftShow(pdbvendor);
					case ESqlStatementType.sstredshiftStartTransaction:
						return new TRedshiftStartTransaction(pdbvendor);
					case ESqlStatementType.sstredshiftUnload:
						return new TRedshiftUnload(pdbvendor);
					case ESqlStatementType.sstredshiftVacuum:
						return new TRedshiftVacuum(pdbvendor);
					}
					break;
				}
			}
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000294 RID: 660 RVA: 0x002F1C28 File Offset: 0x002EFE28
		internal virtual TCustomSqlStatement ispostgresql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findpostgresqlcmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstoraclecreateview)
			{
				if (esqlStatementType <= ESqlStatementType.sstoraclecommit)
				{
					if (esqlStatementType <= ESqlStatementType.sstplsql_createtype_placeholder)
					{
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstinvalid:
							tcustomSqlStatement = null;
							if (pstate != EFindSqlStateType.stnormal)
							{
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 270)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 315)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 351)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 477)
							{
								tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 478)
							{
								tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 479)
							{
								tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						case ESqlStatementType.sstselect:
						{
							bool flag = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								if (tsourceToken != null)
								{
									if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 342)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 354)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 353)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 352)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 427)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 341)
									{
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
										{
											flag = false;
										}
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
										{
											flag = false;
										}
									}
									if (flag && tsourceToken.tokencode == 339)
									{
										TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
										if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
										{
											flag = false;
										}
									}
								}
								if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
								{
									flag = false;
								}
							}
							if (flag)
							{
								return new TSelectSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstdelete:
						{
							bool flag2 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null && tsourceToken.tokencode == 323)
								{
									flag2 = false;
								}
							}
							if (flag2)
							{
								return new TDeleteSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstupdate:
						{
							bool flag3 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null)
								{
									if (tsourceToken.tokencode == 323)
									{
										flag3 = false;
									}
									else if (tsourceToken.tokencode == 306)
									{
										flag3 = false;
									}
								}
								TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
								if (tsourceToken3 != null && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
								{
									flag3 = false;
								}
							}
							if (flag3)
							{
								tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
								tcustomSqlStatement.stmtDummyTag = 1;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstinsert:
						{
							bool flag4 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
							}
							if (flag4)
							{
								return new TInsertSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstcreatetable:
							return new TCreateTableSqlStatement(pdbvendor);
						case ESqlStatementType.sstcreateview:
						case ESqlStatementType.sstcreatedatabase:
						case ESqlStatementType.sstcreateindex:
						case ESqlStatementType.sstcreatesequence:
						case ESqlStatementType.sstcreatesynonym:
							break;
						case ESqlStatementType.sstcreatematerializedview:
							return new TCreateMaterializedSqlStatement(pdbvendor);
						case ESqlStatementType.sstaltertable:
							return new TAlterTableStatement(pdbvendor);
						default:
							if (esqlStatementType == ESqlStatementType.sstmerge)
							{
								tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							}
							switch (esqlStatementType)
							{
							case ESqlStatementType.sstplsql_createprocedure:
								tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createfunction:
								tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createpackage:
								tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createtrigger:
								tcustomSqlStatement = new TPlsqlCreateTrigger(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createtype_placeholder:
								tcustomSqlStatement = new TPlsqlCreateType_Placeholder(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							}
							break;
						}
					}
					else if (esqlStatementType <= ESqlStatementType.sstoracleanalyze)
					{
						if (esqlStatementType == ESqlStatementType.sstoraclealtersession)
						{
							return new TAlterSessionStatement(pdbvendor);
						}
						if (esqlStatementType == ESqlStatementType.sstoracleanalyze)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
					}
					else
					{
						if (esqlStatementType == ESqlStatementType.sstoraclecomment)
						{
							return new TOracleCommentOnSqlStmt(pdbvendor);
						}
						if (esqlStatementType == ESqlStatementType.sstoraclecommit)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclecreatepackagebody)
				{
					if (esqlStatementType <= ESqlStatementType.sstoraclecreatedirectory)
					{
						if (esqlStatementType == ESqlStatementType.sstoraclecreatedatabase)
						{
							return new TCreateDatabaseSqlStatement(pdbvendor);
						}
						if (esqlStatementType == ESqlStatementType.sstoraclecreatedirectory)
						{
							return new TOracleCreateDirectoryStmt(pdbvendor);
						}
					}
					else
					{
						if (esqlStatementType == ESqlStatementType.sstoraclecreateindex)
						{
							return new TCreateIndexSqlStatement(pdbvendor);
						}
						if (esqlStatementType == ESqlStatementType.sstoraclecreatepackagebody)
						{
							tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = ESqlStatementType.sstplsql_createpackage;
							return tcustomSqlStatement;
						}
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclecreatesynonym)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreatesequence)
					{
						return new TCreateSequenceStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreatesynonym)
					{
						return new TCreateSynonymStmt(pdbvendor);
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstplsql_createtypebody)
					{
						tcustomSqlStatement = new TPlsqlCreateTypeBody(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreateview)
					{
						return new TCreateViewSqlStatement(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstpostgresqlCreateFunction)
			{
				if (esqlStatementType <= ESqlStatementType.sstoracledropview)
				{
					if (esqlStatementType == ESqlStatementType.sstoracledropindex)
					{
						return new TDropIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledroptable)
					{
						return new TDropTableSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledropview)
					{
						return new TDropViewSqlStatement(pdbvendor);
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoracletruncate)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclegrant)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstoraclerevoke:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoraclerollback:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoraclesavepoint:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoracletruncate:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstplsql_execimmestmt)
					{
						return new TPlsqlExecImmeStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateFunction)
					{
						return new TPostgresqlCreateFunction(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstpostgresqlCreateView)
			{
				if (esqlStatementType <= ESqlStatementType.sstpostgresqlCreateSchema)
				{
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateIndex)
					{
						return new TCreateIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateSchema)
					{
						return new TCreateSchemaSqlStatement(pdbvendor);
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateTrigger)
					{
						return new TPlsqlCreateTriggerSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateView)
					{
						return new TCreateViewSqlStatement(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstpostgresqlExecute)
			{
				if (esqlStatementType == ESqlStatementType.sstpostgresqlDropTable)
				{
					return new TDropTableSqlStatement(EDbVendor.dbvpostgresql);
				}
				if (esqlStatementType == ESqlStatementType.sstpostgresqlExecute)
				{
					return new TExecutePreparedStatement(EDbVendor.dbvpostgresql);
				}
			}
			else
			{
				if (esqlStatementType == ESqlStatementType.sstpostgresqlMove)
				{
					return new TMoveStmt(EDbVendor.dbvpostgresql);
				}
				if (esqlStatementType == ESqlStatementType.sstpostgresqlTruncate)
				{
					return new TTruncateStatement(EDbVendor.dbvpostgresql);
				}
			}
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000295 RID: 661 RVA: 0x002F24BC File Offset: 0x002F06BC
		internal virtual TCustomSqlStatement isgreenplum(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findgreenplumcmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstplsql_createtypebody)
			{
				if (esqlStatementType <= ESqlStatementType.sstoraclecommit)
				{
					if (esqlStatementType <= ESqlStatementType.sstplsql_createtype_placeholder)
					{
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstinvalid:
							tcustomSqlStatement = null;
							if (pstate != EFindSqlStateType.stnormal)
							{
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 270)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 315)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 351)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 477)
							{
								tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 478)
							{
								tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 479)
							{
								tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						case ESqlStatementType.sstselect:
						{
							bool flag = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								if (tsourceToken != null)
								{
									if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 342)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 354)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 353)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 352)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 427)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 341)
									{
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
										{
											flag = false;
										}
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
										{
											flag = false;
										}
									}
									if (flag && tsourceToken.tokencode == 339)
									{
										TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
										if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
										{
											flag = false;
										}
									}
								}
								if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
								{
									flag = false;
								}
							}
							if (flag)
							{
								return new TSelectSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstdelete:
						{
							bool flag2 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null && tsourceToken.tokencode == 323)
								{
									flag2 = false;
								}
							}
							if (flag2)
							{
								return new TDeleteSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstupdate:
						{
							bool flag3 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null)
								{
									if (tsourceToken.tokencode == 323)
									{
										flag3 = false;
									}
									else if (tsourceToken.tokencode == 306)
									{
										flag3 = false;
									}
								}
								TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
								if (tsourceToken3 != null && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
								{
									flag3 = false;
								}
							}
							if (flag3)
							{
								tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
								tcustomSqlStatement.stmtDummyTag = 1;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstinsert:
						{
							bool flag4 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
							}
							if (flag4)
							{
								return new TInsertSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstcreatetable:
							return new TCreateTableSqlStatement(pdbvendor);
						case ESqlStatementType.sstcreateview:
						case ESqlStatementType.sstcreatedatabase:
						case ESqlStatementType.sstcreateindex:
						case ESqlStatementType.sstcreatesequence:
						case ESqlStatementType.sstcreatesynonym:
							break;
						case ESqlStatementType.sstcreatematerializedview:
							return new TCreateMaterializedSqlStatement(pdbvendor);
						case ESqlStatementType.sstaltertable:
							return new TAlterTableStatement(pdbvendor);
						default:
							if (esqlStatementType == ESqlStatementType.sstmerge)
							{
								tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							}
							switch (esqlStatementType)
							{
							case ESqlStatementType.sstplsql_createprocedure:
								tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createfunction:
								tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createpackage:
								tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createtrigger:
								tcustomSqlStatement = new TPlsqlCreateTrigger(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							case ESqlStatementType.sstplsql_createtype_placeholder:
								tcustomSqlStatement = new TPlsqlCreateType_Placeholder(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							}
							break;
						}
					}
					else if (esqlStatementType <= ESqlStatementType.sstoracleanalyze)
					{
						if (esqlStatementType == ESqlStatementType.sstoraclealtersession)
						{
							return new TAlterSessionStatement(pdbvendor);
						}
						if (esqlStatementType == ESqlStatementType.sstoracleanalyze)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
					}
					else
					{
						if (esqlStatementType == ESqlStatementType.sstoraclecomment)
						{
							return new TOracleCommentOnSqlStmt(pdbvendor);
						}
						if (esqlStatementType == ESqlStatementType.sstoraclecommit)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclecreateindex)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreatedatabase)
					{
						return new TCreateDatabaseSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreatedirectory)
					{
						return new TOracleCreateDirectoryStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreateindex)
					{
						return new TCreateIndexSqlStatement(pdbvendor);
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclecreatesequence)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreatepackagebody)
					{
						tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = ESqlStatementType.sstplsql_createpackage;
						return tcustomSqlStatement;
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreatesequence)
					{
						return new TCreateSequenceStmt(pdbvendor);
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreatesynonym)
					{
						return new TCreateSynonymStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstplsql_createtypebody)
					{
						tcustomSqlStatement = new TPlsqlCreateTypeBody(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstplsql_execimmestmt)
			{
				if (esqlStatementType <= ESqlStatementType.sstoracledroptable)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreateview)
					{
						return new TCreateViewSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledropindex)
					{
						return new TDropIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledroptable)
					{
						return new TDropTableSqlStatement(pdbvendor);
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclegrant)
				{
					if (esqlStatementType == ESqlStatementType.sstoracledropview)
					{
						return new TDropViewSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclegrant)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
				}
				else
				{
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstoraclerevoke:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoraclerollback:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoraclesavepoint:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoraclesetconstraint:
					case ESqlStatementType.sstoraclesetrole:
					case ESqlStatementType.sstoraclesettransaction:
						break;
					case ESqlStatementType.sstoracletruncate:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					default:
						if (esqlStatementType == ESqlStatementType.sstplsql_execimmestmt)
						{
							return new TPlsqlExecImmeStmt(pdbvendor);
						}
						break;
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstpostgresqlCreateView)
			{
				if (esqlStatementType <= ESqlStatementType.sstpostgresqlCreateIndex)
				{
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateFunction)
					{
						return new TPostgresqlCreateFunction(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateIndex)
					{
						return new TCreateIndexSqlStatement(pdbvendor);
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateTrigger)
					{
						return new TPlsqlCreateTriggerSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstpostgresqlCreateView)
					{
						return new TCreateViewSqlStatement(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstpostgresqlMove)
			{
				if (esqlStatementType == ESqlStatementType.sstpostgresqlExecute)
				{
					return new TExecutePreparedStatement(EDbVendor.dbvgreenplum);
				}
				if (esqlStatementType == ESqlStatementType.sstpostgresqlMove)
				{
					return new TMoveStmt(EDbVendor.dbvgreenplum);
				}
			}
			else
			{
				if (esqlStatementType == ESqlStatementType.sstpostgresqlTruncate)
				{
					return new TTruncateStatement(EDbVendor.dbvgreenplum);
				}
				if (esqlStatementType == ESqlStatementType.sstpostgresqlValues)
				{
					return new TSelectSqlStatement(EDbVendor.dbvgreenplum);
				}
			}
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000296 RID: 662 RVA: 0x002F2D24 File Offset: 0x002F0F24
		internal virtual TCustomSqlStatement isoraclesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findoraclecmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstoraclecreatepackagebody)
			{
				if (esqlStatementType <= ESqlStatementType.sstplsql_createtype_placeholder)
				{
					if (esqlStatementType <= ESqlStatementType.sstmerge)
					{
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstinvalid:
							tcustomSqlStatement = null;
							if (pstate != EFindSqlStateType.stnormal)
							{
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 270)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 315)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 351)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 477)
							{
								tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 478)
							{
								tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 479)
							{
								tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						case ESqlStatementType.sstselect:
						{
							bool flag = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								if (tsourceToken != null)
								{
									if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 342)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 354)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 353)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 352)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 427)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 341)
									{
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
										{
											flag = false;
										}
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
										{
											flag = false;
										}
									}
									if (flag && tsourceToken.tokencode == 339)
									{
										TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
										if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
										{
											flag = false;
										}
									}
								}
								if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
								{
									flag = false;
								}
							}
							if (flag)
							{
								return new TSelectSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstdelete:
						{
							bool flag2 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null && tsourceToken.tokencode == 323)
								{
									flag2 = false;
								}
							}
							if (flag2)
							{
								return new TDeleteSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstupdate:
						{
							bool flag3 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null)
								{
									if (tsourceToken.tokencode == 323)
									{
										flag3 = false;
									}
									else if (tsourceToken.tokencode == 306)
									{
										flag3 = false;
									}
								}
								TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
								if (tsourceToken3 != null && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
								{
									flag3 = false;
								}
							}
							if (flag3)
							{
								tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
								tcustomSqlStatement.stmtDummyTag = 1;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstinsert:
						{
							bool flag4 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
							}
							if (flag4)
							{
								return new TInsertSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstcreatetable:
							return new TCreateTableSqlStatement(pdbvendor);
						case ESqlStatementType.sstcreateview:
						case ESqlStatementType.sstcreatedatabase:
						case ESqlStatementType.sstcreateindex:
						case ESqlStatementType.sstcreatesequence:
						case ESqlStatementType.sstcreatesynonym:
						case ESqlStatementType.sstalterdatabase:
						case ESqlStatementType.sstalterindex:
						case ESqlStatementType.sstaltersession:
							break;
						case ESqlStatementType.sstcreatematerializedview:
							return new TCreateMaterializedSqlStatement(pdbvendor);
						case ESqlStatementType.sstaltertable:
							return new TAlterTableStatement(pdbvendor);
						case ESqlStatementType.sstaltertrigger:
							return new TAlterTriggerStmt(pdbvendor);
						default:
							if (esqlStatementType == ESqlStatementType.sstmerge)
							{
								tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
								tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
								return tcustomSqlStatement;
							}
							break;
						}
					}
					else
					{
						if (esqlStatementType == ESqlStatementType.sstTruncate)
						{
							tcustomSqlStatement = new TTruncateStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						if (esqlStatementType == ESqlStatementType.sstExplain)
						{
							return new TExplainPlan(pdbvendor);
						}
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstplsql_createprocedure:
							tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstplsql_createfunction:
							tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstplsql_createpackage:
							tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstplsql_createtrigger:
							tcustomSqlStatement = new TPlsqlCreateTrigger(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstplsql_createtype_placeholder:
							tcustomSqlStatement = new TPlsqlCreateType_Placeholder(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstoraclecreatedirectory)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclealtersession)
					{
						return new TAlterSessionStatement(pdbvendor);
					}
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstoraclealterview:
						return new TAlterViewStatement(pdbvendor);
					case ESqlStatementType.sstoracleanalyze:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoracleassociatestatistics:
					case ESqlStatementType.sstoracleaudit:
					case ESqlStatementType.sstoraclecreatecluster:
					case ESqlStatementType.sstoraclecreatecontext:
					case ESqlStatementType.sstoraclecreatecontrolfile:
						break;
					case ESqlStatementType.sstoraclecall:
						return new TCallStatement(pdbvendor);
					case ESqlStatementType.sstoraclecomment:
						return new TOracleCommentOnSqlStmt(pdbvendor);
					case ESqlStatementType.sstoraclecommit:
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstoraclecreatedatabase:
						return new TCreateDatabaseSqlStatement(pdbvendor);
					default:
						if (esqlStatementType == ESqlStatementType.sstoraclecreatedirectory)
						{
							return new TOracleCreateDirectoryStmt(pdbvendor);
						}
						break;
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreateindex)
					{
						return new TCreateIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreatelibrary)
					{
						return new TOracleCreateLibraryStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreatepackagebody)
					{
						tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = ESqlStatementType.sstplsql_createpackage;
						return tcustomSqlStatement;
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstoracledropsequence)
			{
				if (esqlStatementType <= ESqlStatementType.sstplsql_createtypebody)
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreatesequence)
					{
						return new TCreateSequenceStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoraclecreatesynonym)
					{
						return new TCreateSynonymStmt(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstplsql_createtypebody)
					{
						tcustomSqlStatement = new TPlsqlCreateTypeBody(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstoraclecreateview)
					{
						return new TCreateViewSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledropindex)
					{
						return new TDropIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstoracledropsequence)
					{
						return new TDropSequenceStmt(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstoraclegrant)
			{
				if (esqlStatementType == ESqlStatementType.sstoracledroptable)
				{
					return new TDropTableSqlStatement(pdbvendor);
				}
				if (esqlStatementType == ESqlStatementType.sstoracledropview)
				{
					return new TDropViewSqlStatement(pdbvendor);
				}
				if (esqlStatementType == ESqlStatementType.sstoraclegrant)
				{
					tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				}
			}
			else
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstoraclerevoke:
					tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				case ESqlStatementType.sstoraclerollback:
					return new TRollbackStmt(pdbvendor);
				case ESqlStatementType.sstoraclesavepoint:
					tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				default:
					if (esqlStatementType == ESqlStatementType.sstoracleexecuteprocedure)
					{
						return new TOracleExecuteProcedure(pdbvendor);
					}
					if (esqlStatementType == ESqlStatementType.sstplsql_execimmestmt)
					{
						return new TPlsqlExecImmeStmt(pdbvendor);
					}
					break;
				}
			}
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000297 RID: 663 RVA: 0x002F3508 File Offset: 0x002F1708
		internal virtual TCustomSqlStatement isinformixsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findinformixcmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstinformixCreateFunction)
			{
				if (esqlStatementType <= ESqlStatementType.sstinformixAlterIndex)
				{
					if (esqlStatementType <= ESqlStatementType.sstmerge)
					{
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstinvalid:
							tcustomSqlStatement = null;
							if (pstate != EFindSqlStateType.stnormal)
							{
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 270)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 315)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 351)
							{
								tcustomSqlStatement = new TCommonBlock(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 477)
							{
								tcustomSqlStatement = new TPlsqlCreateProcedure(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 478)
							{
								tcustomSqlStatement = new TPlsqlCreateFunction(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							if (pcst.tokencode == 479)
							{
								tcustomSqlStatement = new TPlsqlCreatePackage(pdbvendor);
								this.gnewsqlstatementtype = tcustomSqlStatement.sqlstatementtype;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						case ESqlStatementType.sstselect:
						{
							bool flag = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								if (tsourceToken != null)
								{
									if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 342)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 354)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 353)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 352)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 427)
									{
										flag = false;
									}
									else if (tsourceToken.tokencode == 341)
									{
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
										{
											flag = false;
										}
										if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
										{
											flag = false;
										}
									}
									if (flag && tsourceToken.tokencode == 339)
									{
										TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
										if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
										{
											flag = false;
										}
									}
								}
								if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
								{
									flag = false;
								}
							}
							if (flag)
							{
								return new TSelectSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstdelete:
						{
							bool flag2 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null && tsourceToken.tokencode == 323)
								{
									flag2 = false;
								}
								if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
								{
									flag2 = false;
								}
							}
							if (flag2)
							{
								return new TDeleteSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstupdate:
						{
							bool flag3 = true;
							if (pstate != EFindSqlStateType.stnormal)
							{
								tsourceToken = container.solidtokenbefore(posinlist);
								if (tsourceToken != null)
								{
									if (tsourceToken.tokencode == 323)
									{
										flag3 = false;
									}
									else if (tsourceToken.tokencode == 306)
									{
										flag3 = false;
									}
								}
								TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
								if (tsourceToken3 != null && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
								{
									flag3 = false;
								}
								if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
								{
									flag3 = false;
								}
							}
							if (flag3)
							{
								tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
								tcustomSqlStatement.stmtDummyTag = 1;
								return tcustomSqlStatement;
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstinsert:
						{
							bool flag4 = true;
							if (pstate != EFindSqlStateType.stnormal && psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
							{
								flag4 = false;
							}
							if (flag4)
							{
								return new TInsertSqlStatement(pdbvendor);
							}
							return tcustomSqlStatement;
						}
						case ESqlStatementType.sstcreatetable:
							break;
						default:
							if (esqlStatementType != ESqlStatementType.sstmerge)
							{
								goto IL_784;
							}
							tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
					}
					else
					{
						if (esqlStatementType == ESqlStatementType.sstTruncate)
						{
							tcustomSqlStatement = new TTruncateStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						if (esqlStatementType != ESqlStatementType.sstinformixAlterIndex)
						{
							goto IL_784;
						}
						return new TAlterIndexStmt(pdbvendor);
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstinformixAlterTable)
				{
					if (esqlStatementType == ESqlStatementType.sstinformixAlterSequence)
					{
						goto IL_72B;
					}
					if (esqlStatementType != ESqlStatementType.sstinformixAlterTable)
					{
						goto IL_784;
					}
					return new TAlterTableStatement(pdbvendor);
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstinformixCommit)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					if (esqlStatementType == ESqlStatementType.sstinformixCreateDatabase)
					{
						return new TCreateDatabaseSqlStatement(pdbvendor);
					}
					if (esqlStatementType != ESqlStatementType.sstinformixCreateFunction)
					{
						goto IL_784;
					}
					tcustomSqlStatement = new TInformixCreateFunction(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstinformixDropIndex)
			{
				if (esqlStatementType <= ESqlStatementType.sstinformixCreateProcedure)
				{
					if (esqlStatementType == ESqlStatementType.sstinformixCreateIndex)
					{
						return new TCreateIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType != ESqlStatementType.sstinformixCreateProcedure)
					{
						goto IL_784;
					}
					tcustomSqlStatement = new TInformixCreateProcedure(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				}
				else
				{
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstinformixCreateRowType:
						return new TInformixCreateRowTypeStmt(pdbvendor);
					case ESqlStatementType.sstinformixCreateSchema:
					case ESqlStatementType.sstinformixCreateSecurityLabel:
					case ESqlStatementType.sstinformixCreateSecurityLabelComponent:
					case ESqlStatementType.sstinformixCreateSecurityPolicy:
						goto IL_784;
					case ESqlStatementType.sstinformixCreateSequence:
						goto IL_72B;
					case ESqlStatementType.sstinformixCreateSynonym:
						return new TCreateSynonymStmt(pdbvendor);
					case ESqlStatementType.sstinformixCreateTempTable:
						break;
					case ESqlStatementType.sstinformixCreateTrigger:
						tcustomSqlStatement = new TInformixCreateTrigger(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					default:
						if (esqlStatementType == ESqlStatementType.sstinformixCreateView)
						{
							return new TCreateViewSqlStatement(pdbvendor);
						}
						if (esqlStatementType != ESqlStatementType.sstinformixDropIndex)
						{
							goto IL_784;
						}
						return new TDropIndexSqlStatement(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstinformixExecuteProcedure)
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstinformixDropRowType:
					return new TInformixDropRowTypeStmt(pdbvendor);
				case ESqlStatementType.sstinformixDropSecurity:
					goto IL_784;
				case ESqlStatementType.sstinformixDropSequence:
					return new TDropSequenceStmt(pdbvendor);
				case ESqlStatementType.sstinformixDropSynonym:
					return new TDropSynonymStmt(pdbvendor);
				case ESqlStatementType.sstinformixDropTable:
					return new TDropTableSqlStatement(pdbvendor);
				default:
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstinformixDropView:
						return new TDropViewSqlStatement(pdbvendor);
					case ESqlStatementType.sstinformixDropXaDatasource:
					case ESqlStatementType.sstinformixDropXaDatasourceType:
					case ESqlStatementType.sstinformixExecute:
						goto IL_784;
					case ESqlStatementType.sstinformixExecuteFunction:
						return new TInformixExecuteFunction(pdbvendor);
					case ESqlStatementType.sstinformixExecuteImmediate:
						return new TInformixExecuteImmediate(pdbvendor);
					case ESqlStatementType.sstinformixExecuteProcedure:
						return new TInformixExecuteProcedure(pdbvendor);
					default:
						goto IL_784;
					}
					break;
				}
			}
			else
			{
				if (esqlStatementType == ESqlStatementType.sstinformixGrant)
				{
					tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				}
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstinformixPut:
					tcustomSqlStatement = null;
					if (pstate == EFindSqlStateType.stnormal)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				case ESqlStatementType.sstinformixReleaseSavepoint:
				case ESqlStatementType.sstinformixRenameDatabase:
				case ESqlStatementType.sstinformixRenameSecurity:
				case ESqlStatementType.sstinformixRenameTrustedContext:
				case ESqlStatementType.sstinformixRenameUser:
					goto IL_784;
				case ESqlStatementType.sstinformixRenameColumn:
				case ESqlStatementType.sstinformixRenameIndex:
				case ESqlStatementType.sstinformixRenameSequence:
				case ESqlStatementType.sstinformixRenameTable:
					return new TRenameStmt(pdbvendor);
				case ESqlStatementType.sstinformixRevoke:
					tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				default:
					if (esqlStatementType != ESqlStatementType.sstinformixSavepoint)
					{
						goto IL_784;
					}
					tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				}
			}
			return new TCreateTableSqlStatement(pdbvendor);
			IL_72B:
			return new TCreateSequenceStmt(pdbvendor);
			IL_784:
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000298 RID: 664 RVA: 0x002F3CB0 File Offset: 0x002F1EB0
		internal virtual TCustomSqlStatement issybasesql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return tcustomSqlStatement;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				int i = container.solidtokenafterpos(posinlist, 301, 1, "(");
				if (i > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findsybasecmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstcall)
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstinvalid:
					if (pcst.tokencode == 276)
					{
						return new TMssqlLabel(pdbvendor);
					}
					return null;
				case ESqlStatementType.sstselect:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 342)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 354)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 353)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 352)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 427)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 341)
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
								{
									flag = false;
								}
							}
							else if (tsourceToken.tokencode == 306)
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare)
								{
									flag = false;
								}
							}
							if (flag && tsourceToken.tokencode == 339)
							{
								TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
								if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
								{
									flag = false;
								}
							}
						}
						if (psqlstatement != null && psqlstatement.sqlstatementtype != ESqlStatementType.sstinsert)
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant)
							{
								if (tsourceToken != null)
								{
									if (tsourceToken.tokencode == 423)
									{
										flag = false;
									}
									else if (tsourceToken.tokentype == ETokenType.ttcomma)
									{
										flag = false;
									}
								}
							}
							else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke)
							{
								if (tsourceToken != null && tsourceToken.tokencode == 422)
								{
									flag = false;
								}
							}
							else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
							{
								flag = false;
							}
						}
					}
					if (flag)
					{
						return new TSelectSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstdelete:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						tsourceToken = container.solidtokenbefore(posinlist);
						if (TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 323)
						{
							flag = false;
						}
						if (TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant)
							{
								if (TBaseType.assigned(tsourceToken))
								{
									if (tsourceToken.tokencode == 423)
									{
										flag = false;
									}
									else if (tsourceToken.tokentype == ETokenType.ttcomma)
									{
										flag = false;
									}
								}
							}
							else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke && TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 422)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 306)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
								{
									flag = false;
								}
							}
						}
					}
					if (flag)
					{
						return new TDeleteSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstupdate:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokencode == 323)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 306)
							{
								flag = false;
							}
						}
						TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
						if (TBaseType.assigned(tsourceToken3) && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
						{
							flag = false;
						}
						if (TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant)
							{
								if (TBaseType.assigned(tsourceToken))
								{
									if (tsourceToken.tokencode == 423)
									{
										flag = false;
									}
									else if (tsourceToken.tokentype == ETokenType.ttcomma)
									{
										flag = false;
									}
								}
							}
							else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke && TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 422)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 306)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
								{
									flag = false;
								}
							}
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstinsert:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal && psqlstatement != null)
					{
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
						{
							flag = false;
						}
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert && tsourceToken != null && tsourceToken.tokencode == 433)
						{
							flag = false;
						}
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant)
						{
							if (tsourceToken != null)
							{
								if (tsourceToken.tokencode == 423)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
						}
						else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke && tsourceToken != null && tsourceToken.tokencode == 422)
						{
							flag = false;
						}
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger && tsourceToken != null)
						{
							if (tsourceToken.tokencode == 306)
							{
								flag = false;
							}
							else if (tsourceToken.tokentype == ETokenType.ttcomma)
							{
								flag = false;
							}
							else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
							{
								flag = false;
							}
							else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
							{
								flag = false;
							}
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TInsertSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						int i = posinlist + 1;
						while (i < container.size() && (container.get(i).isnonsolidtoken() || (container.get(i).tokencode != 326 && container.get(i).tokencode != 463 && container.get(i).tokentype != ETokenType.ttsemicolon && container.get(i).tokencode != 301 && container.get(i).tokencode != 440 && container.get(i).tokencode != 439)))
						{
							i++;
						}
						if (i > container.size() - 1)
						{
							i = container.size() - 1;
						}
						for (int j = posinlist + 1; j <= i; j++)
						{
							container.get(j).tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
						}
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstcreatetable:
					return new TCreateTableSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreateview:
					return new TCreateViewSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreatedatabase:
				case ESqlStatementType.sstcreatematerializedview:
				case ESqlStatementType.sstcreatesequence:
				case ESqlStatementType.sstcreatesynonym:
					break;
				case ESqlStatementType.sstcreateindex:
					return new TCreateIndexSqlStatement(pdbvendor);
				case ESqlStatementType.sstaltertable:
					return new TAlterTableStatement(pdbvendor);
				default:
					if (esqlStatementType != ESqlStatementType.sstmerge)
					{
						if (esqlStatementType == ESqlStatementType.sstcall)
						{
							return new TCallStatement(pdbvendor);
						}
					}
					else
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstselect)
							{
								TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
								if (tsourceToken3 != null && (tsourceToken3.tokencode == 342 || tsourceToken3.tokencode == 324))
								{
									flag = false;
								}
							}
							TSourceToken tsourceToken4 = container.nextsolidtoken(posinlist, 1, false);
							if (tsourceToken4 != null && tsourceToken4.tokencode == 565)
							{
								flag = false;
							}
						}
						if (flag)
						{
							tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					break;
				}
			}
			else
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstmssqlcreateprocedure:
				case ESqlStatementType.sstmssqlalterprocedure:
					return new TMssqlCreateProcedure(pdbvendor);
				case ESqlStatementType.sstmssqlcreatetrigger:
				case ESqlStatementType.sstmssqlaltertrigger:
					return new TMssqlCreateTrigger(pdbvendor);
				case ESqlStatementType.sstmssqlcreatefunction:
				case ESqlStatementType.sstmssqlalterfunction:
					return new TMssqlCreateFunction(pdbvendor);
				case ESqlStatementType.sstmssqlif:
					tcustomSqlStatement = new TMssqlIfElse(pdbvendor);
					tcustomSqlStatement.stmtDummyTag = 1;
					return tcustomSqlStatement;
				case ESqlStatementType.sstmssqlblock:
					break;
				case ESqlStatementType.sstmssqlgo:
					return new TMssqlGo(pdbvendor);
				case ESqlStatementType.sstmssqldbcc:
				case ESqlStatementType.sstmssqlrestore:
				case ESqlStatementType.sstmssqlbackup:
				case ESqlStatementType.sstmssqlrevoke:
				case ESqlStatementType.sstmssqlreadtext:
					tcustomSqlStatement = new TMssqlDummyStmt(pdbvendor);
					tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
					return tcustomSqlStatement;
				case ESqlStatementType.sstmssqlgrant:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 311)
					{
						tcustomSqlStatement = null;
						flag = false;
					}
					if (flag)
					{
						tcustomSqlStatement = new TMssqlGrant(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						for (int i = posinlist + 1; i < container.size(); i++)
						{
							TSourceToken tsourceToken5 = container.get(i);
							if (!tsourceToken5.isnonsolidtoken())
							{
								if (tsourceToken5.tokencode == 463 || tsourceToken5.tokentype == ETokenType.ttsemicolon || tsourceToken5.tokencode == 512)
								{
									break;
								}
								tsourceToken5.tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
							}
						}
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstmssqltruncatetable:
					return new TTruncateStatement(pdbvendor);
				default:
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstmssqlbegindialog:
						return new TMssqlBeginDialog(pdbvendor);
					case ESqlStatementType.sstmssqlbegindistributed:
					case ESqlStatementType.sstmssqlclosemasterkey:
					case ESqlStatementType.sstmssqlclosesymmetrickey:
					case ESqlStatementType.sstmssqlcreateaggregate:
					case ESqlStatementType.sstmssqlcreateapplicationrole:
					case ESqlStatementType.sstmssqlcreateassembly:
					case ESqlStatementType.sstmssqlcreateasymmetrickey:
					case ESqlStatementType.sstmssqlcreatecertificate:
					case ESqlStatementType.sstmssqlcreatecontract:
					case ESqlStatementType.sstmssqlcreatecredential:
					case ESqlStatementType.sstmssqlcreatedefault:
					case ESqlStatementType.sstmssqlcreateendpoint:
					case ESqlStatementType.sstmssqlcreateeventnotification:
					case ESqlStatementType.sstmssqlcreatefulltextcatalog:
					case ESqlStatementType.sstmssqlcreatefulltextindex:
					case ESqlStatementType.sstmssqlcreatelogin:
					case ESqlStatementType.sstmssqlcreatemasterkey:
					case ESqlStatementType.sstmssqlcreatemessagetype:
					case ESqlStatementType.sstmssqlcreatepartitionfunction:
					case ESqlStatementType.sstmssqlcreatepartitionscheme:
					case ESqlStatementType.sstmssqlcreatequeue:
					case ESqlStatementType.sstmssqlcreateremoteservicebinding:
					case ESqlStatementType.sstmssqlcreaterole:
					case ESqlStatementType.sstmssqlcreateroute:
					case ESqlStatementType.sstmssqlcreaterule:
					case ESqlStatementType.sstmssqlcreateschema:
					case ESqlStatementType.sstmssqlcreateservice:
					case ESqlStatementType.sstmssqlcreatestatistics:
					case ESqlStatementType.sstmssqlcreatesymmetrickey:
					case ESqlStatementType.sstmssqlcreatesynonym:
					case ESqlStatementType.sstmssqlcreatetype:
					case ESqlStatementType.sstmssqlcreateuser:
					case ESqlStatementType.sstmssqlcreatexmlschemacollection:
					case ESqlStatementType.sstmssqldeny:
					case ESqlStatementType.sstmssqldropdbobject:
					case ESqlStatementType.sstmssqlkill:
					case ESqlStatementType.sstmssqlkillquerynotificationsubscription:
					case ESqlStatementType.sstmssqlkillstats:
					case ESqlStatementType.sstmssqlmoveconversation:
					case ESqlStatementType.sstmssqlopenmasterkey:
					case ESqlStatementType.sstmssqlopensymmetrickey:
					case ESqlStatementType.sstmssqlreceive:
					case ESqlStatementType.sstmssqlreconfigure:
					case ESqlStatementType.sstmssqlrestoredatabase:
					case ESqlStatementType.sstmssqlrestorefilelistonly:
					case ESqlStatementType.sstmssqlrestoreheaderonly:
					case ESqlStatementType.sstmssqlrestorelabelonly:
					case ESqlStatementType.sstmssqlrestorelog:
					case ESqlStatementType.sstmssqlrestoremasterkey:
					case ESqlStatementType.sstmssqlrestorerewindonly:
					case ESqlStatementType.sstmssqlrestoreservicemasterkey:
					case ESqlStatementType.sstmssqlrestoreverifyonly:
					case ESqlStatementType.sstmssqlselect:
					case ESqlStatementType.sstmssqlsetuser:
					case ESqlStatementType.sstmssqlshutdown:
					case ESqlStatementType.sstmssqlsign:
					case ESqlStatementType.sstmssqlupdatestatistics:
					case ESqlStatementType.sstmssqlcte:
					case ESqlStatementType.sstmssqlwithxmlnamespaces:
					case ESqlStatementType.sstmssqlwritetext:
					case ESqlStatementType.sstexecutestmt:
					case ESqlStatementType.sstsetstmt:
						break;
					case ESqlStatementType.sstmssqlbegintran:
						return new TMssqlBeginTran(pdbvendor);
					case ESqlStatementType.sstmssqlbreak:
						return new TMssqlBreak(pdbvendor);
					case ESqlStatementType.sstmssqlbulkinsert:
						return new TMssqlBulkInsert(pdbvendor);
					case ESqlStatementType.sstmssqlclose:
						return new TMssqlClose(pdbvendor);
					case ESqlStatementType.sstmssqlcontinue:
						return new TMssqlContinue(pdbvendor);
					case ESqlStatementType.sstmssqldeallocate:
						return new TMssqlDeallocate(pdbvendor);
					case ESqlStatementType.sstmssqldeclare:
						return new TMssqlDeclare(pdbvendor);
					case ESqlStatementType.sstmssqldisabletrigger:
					case ESqlStatementType.sstmssqlenabletrigger:
					{
						bool flag = true;
						if (TBaseType.assigned(psqlstatement) && psqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable)
						{
							flag = false;
						}
						if (flag)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqldropaggregate:
					case ESqlStatementType.sstmssqldropapplicationrole:
					case ESqlStatementType.sstmssqldropassembly:
					case ESqlStatementType.sstmssqldropasymmetrickey:
					case ESqlStatementType.sstmssqldropcertificate:
					case ESqlStatementType.sstmssqldropcontract:
					case ESqlStatementType.sstmssqldropcredential:
					case ESqlStatementType.sstmssqldropdatabase:
					case ESqlStatementType.sstmssqldropdefault:
					case ESqlStatementType.sstmssqldropendpoint:
					case ESqlStatementType.sstmssqldropeventnotification:
					case ESqlStatementType.sstmssqldropfulltextcatalog:
					case ESqlStatementType.sstmssqldropfulltextindex:
					case ESqlStatementType.sstmssqldropfunction:
					case ESqlStatementType.sstmssqldroplogin:
					case ESqlStatementType.sstmssqldropmasterkey:
					case ESqlStatementType.sstmssqldropmessagetype:
					case ESqlStatementType.sstmssqldroppartitionfunction:
					case ESqlStatementType.sstmssqldroppartitionscheme:
					case ESqlStatementType.sstmssqldropprocedure:
					case ESqlStatementType.sstmssqldropqueue:
					case ESqlStatementType.sstmssqldropremoteservicebinding:
					case ESqlStatementType.sstmssqldroprole:
					case ESqlStatementType.sstmssqldroproute:
					case ESqlStatementType.sstmssqldroprule:
					case ESqlStatementType.sstmssqldropschema:
					case ESqlStatementType.sstmssqldropservice:
					case ESqlStatementType.sstmssqldropsignature:
					case ESqlStatementType.sstmssqldropstatistics:
					case ESqlStatementType.sstmssqldropsymmetrickey:
					case ESqlStatementType.sstmssqldropsynonym:
					case ESqlStatementType.sstmssqldroptrigger:
					case ESqlStatementType.sstmssqldroptype:
					case ESqlStatementType.sstmssqldropuser:
					case ESqlStatementType.sstmssqldropxmlschemacollection:
						tcustomSqlStatement = new TMssqlDropDbObject(EDbVendor.dbvsybase);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstmssqldropindex:
						return new TDropIndexSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqldroptable:
						return new TDropTableSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqldropview:
						return new TDropViewSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqlendconversation:
						return new TMssqlEndConversation(pdbvendor);
					case ESqlStatementType.sstmssqlexecuteas:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(psqlstatement) && (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) && TBaseType.assigned(tsourceToken))
						{
							if (tsourceToken.tokencode == 311)
							{
								flag = false;
							}
							else if (tsourceToken.tokentype == ETokenType.ttcomma)
							{
								flag = false;
							}
						}
						if (flag)
						{
							tcustomSqlStatement = new TMssqlExecuteAs(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlfetch:
						return new TMssqlFetch(pdbvendor);
					case ESqlStatementType.sstmssqlgoto:
						return new TMssqlGoTo(pdbvendor);
					case ESqlStatementType.sstmssqlopen:
						return new TMssqlOpen(pdbvendor);
					case ESqlStatementType.sstmssqlprint:
						return new TMssqlPrint(pdbvendor);
					case ESqlStatementType.sstmssqlraiserror:
						return new TMssqlRaiserror(pdbvendor);
					case ESqlStatementType.sstmssqlrevert:
						return new TMssqlRevert(pdbvendor);
					case ESqlStatementType.sstmssqlreturn:
						return new TMssqlReturn(pdbvendor);
					case ESqlStatementType.sstmssqlsavetran:
						return new TMssqlSaveTran(pdbvendor);
					case ESqlStatementType.sstmssqlsendonconversation:
						return new TMssqlSendOnConversation(pdbvendor);
					case ESqlStatementType.sstmssqlset:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							if (TBaseType.assigned(psqlstatement))
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif && TBaseType.assigned(container.searchToken(304, "", pcst, -10)))
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 304)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstupdate && psqlstatement.stmtDummyTag == 1)
								{
									psqlstatement.stmtDummyTag = 0;
									flag = false;
								}
							}
							TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
							if (TBaseType.assigned(tsourceToken3) && (TBaseType.mycomparetext(tsourceToken3.astext, "null") == 0 || TBaseType.mycomparetext(tsourceToken3.astext, "default") == 0))
							{
								flag = false;
							}
						}
						if (flag)
						{
							return new TMssqlSet(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlbegintry:
					case ESqlStatementType.sstmssqlbegincatch:
						tcustomSqlStatement = new TMssqlBlock(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstmssqlupdatetext:
						return new TMssqlUpdateText(pdbvendor);
					case ESqlStatementType.sstmssqluse:
						return new TUseDatabase(pdbvendor);
					case ESqlStatementType.sstmssqlwaitfor:
						return new TMssqlWaitFor(pdbvendor);
					case ESqlStatementType.sstmssqlwhile:
						tcustomSqlStatement = new TMssqlIfElse(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						return tcustomSqlStatement;
					case ESqlStatementType.sstmssqlexec:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert && psqlstatement.stmtDummyTag == 1)
							{
								flag = false;
								psqlstatement.stmtDummyTag = 0;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant)
							{
								if (TBaseType.assigned(tsourceToken))
								{
									if (tsourceToken.tokencode == 423)
									{
										flag = false;
									}
									else if (tsourceToken.tokentype == ETokenType.ttcomma)
									{
										flag = false;
									}
								}
							}
							else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlrevoke && TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 422)
							{
								flag = false;
							}
							if ((psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 311)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
						}
						if (flag)
						{
							return new TMssqlExecute(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlcommit:
						return new TMssqlCommit(pdbvendor);
					case ESqlStatementType.sstmssqlrollback:
						return new TMssqlRollback(pdbvendor);
					default:
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstsybaseInsertBulk:
							return new TInsertBulk(pdbvendor);
						case ESqlStatementType.sstsybaseWritetext:
							return new TSybaseWritetext(pdbvendor);
						case ESqlStatementType.sstsybaseDeleteStatistics:
							return new TSybaseDeleteStatistics(pdbvendor);
						}
						break;
					}
					break;
				}
			}
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x06000299 RID: 665 RVA: 0x002F4C78 File Offset: 0x002F2E78
		internal virtual TCustomSqlStatement ismssqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return tcustomSqlStatement;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				int i = container.solidtokenafterpos(posinlist, 301, 1, "(");
				if (i > 0 && pstate == EFindSqlStateType.stnormal)
				{
					return new TSelectSqlStatement(pdbvendor);
				}
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			if (pcst.tokencode == 306 && psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare)
			{
				((TMssqlDeclare)psqlstatement).forKeyword = pcst;
			}
			this.gnewsqlstatementtype = this.findmssqlcmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstmssqlrollback)
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstinvalid:
					if (pcst.tokencode == 276)
					{
						return new TMssqlLabel(pdbvendor);
					}
					return null;
				case ESqlStatementType.sstselect:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 342)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 354)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 353)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 352)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 427)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 341)
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
								{
									flag = false;
								}
							}
							else if (tsourceToken.tokencode == 306)
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlset)
								{
									flag = false;
								}
								else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare)
								{
									flag = false;
									((TMssqlDeclare)psqlstatement).forKeyword = tsourceToken;
								}
							}
							if (flag && tsourceToken.tokencode == 339)
							{
								TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
								if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
								{
									flag = false;
								}
							}
						}
						if (psqlstatement != null && psqlstatement.sqlstatementtype != ESqlStatementType.sstinsert)
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant)
							{
								if (tsourceToken != null)
								{
									if (tsourceToken.tokencode == 423)
									{
										flag = false;
									}
									else if (tsourceToken.tokentype == ETokenType.ttcomma)
									{
										flag = false;
									}
								}
							}
							else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
							{
								flag = false;
							}
							else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldeclare && flag && ((TMssqlDeclare)psqlstatement).forKeyword != null)
							{
								flag = false;
							}
						}
					}
					if (flag)
					{
						return new TSelectSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstdelete:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						tsourceToken = container.solidtokenbefore(posinlist);
						if (TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 323)
						{
							flag = false;
						}
						if (TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 423)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 306)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
								{
									flag = false;
								}
							}
						}
					}
					if (flag)
					{
						return new TDeleteSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstupdate:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokencode == 323)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 306)
							{
								flag = false;
							}
						}
						TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
						if (TBaseType.assigned(tsourceToken3) && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
						{
							flag = false;
						}
						if (TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 423)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 306)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
								{
									flag = false;
								}
							}
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstinsert:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal && psqlstatement != null)
					{
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
						{
							flag = false;
						}
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlbulkinsert && tsourceToken != null && tsourceToken.tokencode == 433)
						{
							flag = false;
						}
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant && tsourceToken != null)
						{
							if (tsourceToken.tokencode == 423)
							{
								flag = false;
							}
							else if (tsourceToken.tokentype == ETokenType.ttcomma)
							{
								flag = false;
							}
						}
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger && tsourceToken != null)
						{
							if (tsourceToken.tokencode == 306)
							{
								flag = false;
							}
							else if (tsourceToken.tokentype == ETokenType.ttcomma)
							{
								flag = false;
							}
							else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
							{
								flag = false;
							}
							else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
							{
								flag = false;
							}
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TInsertSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						int i;
						for (i = posinlist + 1; i < container.size(); i++)
						{
							if (!container.get(i).isnonsolidtoken())
							{
								if (container.get(i).tokencode == 326 || container.get(i).tokencode == 463 || container.get(i).tokentype == ETokenType.ttsemicolon)
								{
									break;
								}
								if (container.get(i).tokencode == 301)
								{
									tcustomSqlStatement.stmtDummyTag = 0;
									break;
								}
								if (container.get(i).tokencode == 440 || container.get(i).tokencode == 439)
								{
									break;
								}
							}
						}
						if (i > container.size() - 1)
						{
							i = container.size() - 1;
						}
						for (int j = posinlist + 1; j <= i; j++)
						{
							container.get(j).tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
						}
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstcreatetable:
					return new TCreateTableSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreateview:
					return new TCreateViewSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreatedatabase:
					return new TCreateDatabaseSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreateindex:
					return new TCreateIndexSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreatematerializedview:
				case ESqlStatementType.sstcreatesynonym:
				case ESqlStatementType.sstalterdatabase:
				case ESqlStatementType.sstalterindex:
				case ESqlStatementType.sstaltersession:
				case ESqlStatementType.sstaltertrigger:
				case ESqlStatementType.sstalterview:
				case ESqlStatementType.sstdropindex:
				case ESqlStatementType.sstdropview:
				case ESqlStatementType.sstdroptable:
				case ESqlStatementType.sstdropschema:
				case ESqlStatementType.sstdropsynonym:
					break;
				case ESqlStatementType.sstcreatesequence:
					return new TCreateSequenceStmt(pdbvendor);
				case ESqlStatementType.sstaltertable:
					return new TAlterTableStatement(pdbvendor);
				case ESqlStatementType.sstdropsequence:
					return new TDropSequenceStmt(pdbvendor);
				case ESqlStatementType.sstmerge:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstselect)
						{
							TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
							if (tsourceToken3 != null && (tsourceToken3.tokencode == 342 || tsourceToken3.tokencode == 324))
							{
								flag = false;
							}
						}
						if (flag)
						{
							TSourceToken tsourceToken4 = container.nextsolidtoken(posinlist, 1, false);
							if (tsourceToken4 != null && tsourceToken4.tokencode == 324)
							{
								flag = false;
							}
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				default:
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstmssqlcreateprocedure:
					case ESqlStatementType.sstmssqlalterprocedure:
						return new TMssqlCreateProcedure(pdbvendor);
					case ESqlStatementType.sstmssqlcreatetrigger:
					case ESqlStatementType.sstmssqlaltertrigger:
						return new TMssqlCreateTrigger(pdbvendor);
					case ESqlStatementType.sstmssqlcreatefunction:
					case ESqlStatementType.sstmssqlalterfunction:
						return new TMssqlCreateFunction(pdbvendor);
					case ESqlStatementType.sstmssqlif:
					{
						bool flag = true;
						if (psqlstatement != null && (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldropprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqldropindex))
						{
							flag = false;
						}
						else if (psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstdroptable)
						{
							tsourceToken = container.solidtokenbefore(posinlist);
							if (tsourceToken.tokencode == 308)
							{
								flag = false;
							}
						}
						if (flag)
						{
							tcustomSqlStatement = new TMssqlIfElse(pdbvendor);
							tcustomSqlStatement.stmtDummyTag = 1;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlgo:
						return new TMssqlGo(pdbvendor);
					case ESqlStatementType.sstmssqldbcc:
					case ESqlStatementType.sstmssqlrestore:
					case ESqlStatementType.sstmssqlbackup:
					case ESqlStatementType.sstmssqlrevoke:
					case ESqlStatementType.sstmssqlreadtext:
						tcustomSqlStatement = new TMssqlDummyStmt(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstmssqlgrant:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 311)
						{
							tcustomSqlStatement = null;
							flag = false;
						}
						if (flag)
						{
							tcustomSqlStatement = new TMssqlGrant(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							for (int i = posinlist + 1; i < container.size(); i++)
							{
								TSourceToken tsourceToken5 = container.get(i);
								if (!tsourceToken5.isnonsolidtoken())
								{
									if (tsourceToken5.tokencode == 463 || tsourceToken5.tokentype == ETokenType.ttsemicolon || tsourceToken5.tokencode == 512)
									{
										break;
									}
									tsourceToken5.tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
								}
							}
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqltruncatetable:
						return new TTruncateStatement(pdbvendor);
					case ESqlStatementType.sstmssqlalterdatabase:
						return new TAlterDatabaseStmt(pdbvendor);
					case ESqlStatementType.sstmssqlbegindialog:
						return new TMssqlBeginDialog(pdbvendor);
					case ESqlStatementType.sstmssqlbegintran:
						return new TMssqlBeginTran(pdbvendor);
					case ESqlStatementType.sstmssqlbreak:
						return new TMssqlBreak(pdbvendor);
					case ESqlStatementType.sstmssqlbulkinsert:
						return new TMssqlBulkInsert(pdbvendor);
					case ESqlStatementType.sstmssqlclose:
						return new TMssqlClose(pdbvendor);
					case ESqlStatementType.sstmssqlcontinue:
						return new TMssqlContinue(pdbvendor);
					case ESqlStatementType.sstmssqlcreatefulltextindex:
						return new TCreateIndexSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqlcreateschema:
						return new TCreateSchemaSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqlcreatesynonym:
						return new TCreateSynonymStmt(pdbvendor);
					case ESqlStatementType.sstmssqlcreatetype:
						return new TMssqlCreateType(pdbvendor);
					case ESqlStatementType.sstmssqldeallocate:
						return new TMssqlDeallocate(pdbvendor);
					case ESqlStatementType.sstmssqldeclare:
						return new TMssqlDeclare(pdbvendor);
					case ESqlStatementType.sstmssqldeny:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && flag && TBaseType.assigned(psqlstatement) && psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateschema)
						{
							flag = false;
						}
						if (flag)
						{
							tcustomSqlStatement = new TMssqlDenyStmt(pdbvendor);
							for (int i = posinlist + 1; i < container.size(); i++)
							{
								TSourceToken tsourceToken5 = container.get(i);
								if (!tsourceToken5.isnonsolidtoken())
								{
									if (tsourceToken5.tokencode == 463 || tsourceToken5.tokentype == ETokenType.ttsemicolon || tsourceToken5.tokencode == 512)
									{
										break;
									}
									tsourceToken5.tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
								}
							}
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqldisabletrigger:
					case ESqlStatementType.sstmssqlenabletrigger:
					{
						bool flag = true;
						if (TBaseType.assigned(psqlstatement) && psqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable)
						{
							flag = false;
						}
						if (flag)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqldropaggregate:
					case ESqlStatementType.sstmssqldropapplicationrole:
					case ESqlStatementType.sstmssqldropassembly:
					case ESqlStatementType.sstmssqldropasymmetrickey:
					case ESqlStatementType.sstmssqldropcertificate:
					case ESqlStatementType.sstmssqldropcontract:
					case ESqlStatementType.sstmssqldropcredential:
					case ESqlStatementType.sstmssqldropdatabase:
					case ESqlStatementType.sstmssqldropdefault:
					case ESqlStatementType.sstmssqldropendpoint:
					case ESqlStatementType.sstmssqldropeventnotification:
					case ESqlStatementType.sstmssqldropfulltextcatalog:
					case ESqlStatementType.sstmssqldropfulltextindex:
					case ESqlStatementType.sstmssqldropfunction:
					case ESqlStatementType.sstmssqldroplogin:
					case ESqlStatementType.sstmssqldropmasterkey:
					case ESqlStatementType.sstmssqldropmessagetype:
					case ESqlStatementType.sstmssqldroppartitionfunction:
					case ESqlStatementType.sstmssqldroppartitionscheme:
					case ESqlStatementType.sstmssqldropprocedure:
					case ESqlStatementType.sstmssqldropqueue:
					case ESqlStatementType.sstmssqldropremoteservicebinding:
					case ESqlStatementType.sstmssqldroprole:
					case ESqlStatementType.sstmssqldroproute:
					case ESqlStatementType.sstmssqldroprule:
					case ESqlStatementType.sstmssqldropschema:
					case ESqlStatementType.sstmssqldropservice:
					case ESqlStatementType.sstmssqldropsignature:
					case ESqlStatementType.sstmssqldropstatistics:
					case ESqlStatementType.sstmssqldropsymmetrickey:
					case ESqlStatementType.sstmssqldropsynonym:
					case ESqlStatementType.sstmssqldroptrigger:
					case ESqlStatementType.sstmssqldroptype:
					case ESqlStatementType.sstmssqldropuser:
					case ESqlStatementType.sstmssqldropxmlschemacollection:
						tcustomSqlStatement = new TMssqlDropDbObject(EDbVendor.dbvmssql);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstmssqldropindex:
						return new TDropIndexSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqldroptable:
						return new TDropTableSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqldropview:
						return new TDropViewSqlStatement(pdbvendor);
					case ESqlStatementType.sstmssqlendconversation:
						return new TMssqlEndConversation(pdbvendor);
					case ESqlStatementType.sstmssqlexecuteas:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(psqlstatement) && (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction) && TBaseType.assigned(tsourceToken))
						{
							if (tsourceToken.tokencode == 311)
							{
								flag = false;
							}
							else if (tsourceToken.tokentype == ETokenType.ttcomma)
							{
								flag = false;
							}
						}
						if (flag)
						{
							tcustomSqlStatement = new TMssqlExecuteAs(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlfetch:
					{
						bool flag = true;
						if (TBaseType.assigned(psqlstatement) && psqlstatement.sqlstatementtype == ESqlStatementType.sstselect)
						{
							flag = false;
							pcst.tokencode = 566;
						}
						if (flag)
						{
							return new TMssqlFetch(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlgoto:
						return new TMssqlGoTo(pdbvendor);
					case ESqlStatementType.sstmssqlopen:
						return new TMssqlOpen(pdbvendor);
					case ESqlStatementType.sstmssqlprint:
						return new TMssqlPrint(pdbvendor);
					case ESqlStatementType.sstmssqlraiserror:
						return new TMssqlRaiserror(pdbvendor);
					case ESqlStatementType.sstmssqlreconfigure:
						return new TReconfigure(pdbvendor);
					case ESqlStatementType.sstmssqlrevert:
						return new TMssqlRevert(pdbvendor);
					case ESqlStatementType.sstmssqlreturn:
						return new TMssqlReturn(pdbvendor);
					case ESqlStatementType.sstmssqlsavetran:
						return new TMssqlSaveTran(pdbvendor);
					case ESqlStatementType.sstmssqlsendonconversation:
						return new TMssqlSendOnConversation(pdbvendor);
					case ESqlStatementType.sstmssqlset:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							if (TBaseType.assigned(psqlstatement))
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlif && TBaseType.assigned(container.searchToken(304, "", pcst, -10)))
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstalterdatabase && TBaseType.assigned(container.searchToken(426, "", pcst, -10)))
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 304)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstupdate && psqlstatement.stmtDummyTag == 1)
								{
									psqlstatement.stmtDummyTag = 0;
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstaltertable)
								{
									flag = false;
								}
							}
							TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
							if (TBaseType.assigned(tsourceToken3) && (TBaseType.mycomparetext(tsourceToken3.astext, "null") == 0 || TBaseType.mycomparetext(tsourceToken3.astext, "default") == 0))
							{
								flag = false;
							}
						}
						if (flag)
						{
							return new TMssqlSet(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlbegintry:
					case ESqlStatementType.sstmssqlbegincatch:
						tcustomSqlStatement = new TMssqlBlock(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstmssqlupdatetext:
						return new TMssqlUpdateText(pdbvendor);
					case ESqlStatementType.sstmssqluse:
					{
						bool flag = true;
						TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
						if (TBaseType.assigned(tsourceToken3) && TBaseType.mycomparetext(tsourceToken3.astext, "hint") == 0)
						{
							flag = false;
						}
						if (flag)
						{
							return new TUseDatabase(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlwaitfor:
						return new TMssqlWaitFor(pdbvendor);
					case ESqlStatementType.sstmssqlwhile:
						tcustomSqlStatement = new TMssqlIfElse(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						return tcustomSqlStatement;
					case ESqlStatementType.sstmssqlexec:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert && psqlstatement.stmtDummyTag == 1)
							{
								flag = false;
								psqlstatement.stmtDummyTag = 0;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlgrant && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 423)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
							if ((psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreateprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatetrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatefunction || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlaltertrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlalterfunction || psqlstatement.sqlstatementtype == ESqlStatementType.sstmssqlcreatequeue) && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 311)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
						}
						if (flag)
						{
							return new TMssqlExecute(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstmssqlcommit:
						return new TMssqlCommit(pdbvendor);
					case ESqlStatementType.sstmssqlrollback:
						return new TMssqlRollback(pdbvendor);
					}
					break;
				}
			}
			else
			{
				if (esqlStatementType == ESqlStatementType.sstmssqlsetrowcount)
				{
					return new TMssqlSetRowCount(pdbvendor);
				}
				if (esqlStatementType == ESqlStatementType.sstmssqlthrow)
				{
					return new TMssqlThrow(pdbvendor);
				}
			}
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x0600029A RID: 666 RVA: 0x002F5E84 File Offset: 0x002F4084
		internal virtual TCustomSqlStatement isteradatasql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return tcustomSqlStatement;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				int i = container.solidtokenafterpos(posinlist, 301, 1, "(");
				if (i > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				else
				{
					i = container.solidtokenafterpos(posinlist, 547, 1, "(");
					if (i > 0)
					{
						tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
					}
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 528)
			{
				return new TTeradataUsing(pdbvendor);
			}
			if (pstate == EFindSqlStateType.stnormal && (pcst.tokencode == 473 || pcst.tokencode == 551))
			{
				return new TTeradataLock(pdbvendor);
			}
			this.gnewsqlstatementtype = this.findteradatacmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstteradatarenametable)
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstinvalid:
					return null;
				case ESqlStatementType.sstselect:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 342)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 354)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 353)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 352)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 427)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 341)
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
								{
									flag = false;
								}
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatareplaceview)
								{
									flag = false;
								}
							}
							if (flag && tsourceToken.tokencode == 339)
							{
								TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
								if (tsourceToken2 != null && tsourceToken2.tokencode == 342)
								{
									flag = false;
								}
							}
						}
						if (psqlstatement != null && psqlstatement.sqlstatementtype != ESqlStatementType.sstinsert && psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
						{
							flag = false;
						}
					}
					if (flag)
					{
						return new TSelectSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstdelete:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						tsourceToken = container.solidtokenbefore(posinlist);
						if (TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 323)
						{
							flag = false;
						}
						if (TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "before") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
								{
									flag = false;
								}
							}
						}
					}
					if (flag)
					{
						return new TDeleteSqlStatement(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstupdate:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						if (tsourceToken != null)
						{
							if (tsourceToken.tokencode == 323)
							{
								flag = false;
							}
							else if (tsourceToken.tokencode == 306)
							{
								flag = false;
							}
						}
						TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
						if (TBaseType.assigned(tsourceToken3) && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
						{
							flag = false;
						}
						if (TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
							{
								flag = false;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "before") == 0)
								{
									flag = false;
								}
								else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
								{
									flag = false;
								}
							}
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstinsert:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal && psqlstatement != null)
					{
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstmerge && tsourceToken != null && tsourceToken.tokencode == 348)
						{
							flag = false;
						}
						if (psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger && tsourceToken != null)
						{
							if (tsourceToken.tokentype == ETokenType.ttcomma)
							{
								flag = false;
							}
							else if (TBaseType.mycomparetext(tsourceToken.astext, "after") == 0)
							{
								flag = false;
							}
							else if (TBaseType.mycomparetext(tsourceToken.astext, "before") == 0)
							{
								flag = false;
							}
							else if (TBaseType.mycomparetext(tsourceToken.astext, "of") == 0)
							{
								flag = false;
							}
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TInsertSqlStatement(pdbvendor);
						tcustomSqlStatement.stmtDummyTag = 1;
						int i = posinlist + 1;
						while (i < container.size() && (container.get(i).isnonsolidtoken() || (container.get(i).tokencode != 326 && container.get(i).tokentype != ETokenType.ttsemicolon && container.get(i).tokencode != 301 && container.get(i).tokencode != 440 && container.get(i).tokencode != 439)))
						{
							i++;
						}
						if (i > container.size() - 1)
						{
							i = container.size() - 1;
						}
						for (int j = posinlist + 1; j <= i; j++)
						{
							container.get(j).tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
						}
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstcreatetable:
					return new TCreateTableSqlStatement(pdbvendor);
				case ESqlStatementType.sstcreateview:
					goto IL_A87;
				case ESqlStatementType.sstcreatedatabase:
				case ESqlStatementType.sstcreatematerializedview:
				case ESqlStatementType.sstcreatesequence:
				case ESqlStatementType.sstcreatesynonym:
				case ESqlStatementType.sstalterdatabase:
				case ESqlStatementType.sstalterindex:
				case ESqlStatementType.sstaltersession:
				case ESqlStatementType.sstaltertrigger:
				case ESqlStatementType.sstalterview:
				case ESqlStatementType.sstdropschema:
				case ESqlStatementType.sstdropsequence:
				case ESqlStatementType.sstdropsynonym:
					goto IL_AD6;
				case ESqlStatementType.sstcreateindex:
					return new TCreateIndexSqlStatement(pdbvendor);
				case ESqlStatementType.sstaltertable:
					break;
				case ESqlStatementType.sstdropindex:
					return new TDropIndexSqlStatement(pdbvendor);
				case ESqlStatementType.sstdropview:
					return new TDropViewSqlStatement(pdbvendor);
				case ESqlStatementType.sstdroptable:
					return new TDropTableSqlStatement(pdbvendor);
				case ESqlStatementType.sstmerge:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal && psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.sstselect)
					{
						TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
						if (tsourceToken3 != null && (tsourceToken3.tokencode == 342 || tsourceToken3.tokencode == 324))
						{
							flag = false;
						}
					}
					if (flag)
					{
						tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
				default:
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstteradataabort:
						return new TTeradataAbort(pdbvendor);
					case ESqlStatementType.sstteradataalterfunction:
					case ESqlStatementType.sstteradatacreatefunction:
						goto IL_7C5;
					case ESqlStatementType.sstteradataaltermethod:
					case ESqlStatementType.sstteradataalterreplicationgroup:
					case ESqlStatementType.sstteradataaltertype:
					case ESqlStatementType.sstteradatabegindeclaresection:
					case ESqlStatementType.sstteradatabeginquerylogging:
					case ESqlStatementType.sstteradatacheckpoint:
					case ESqlStatementType.sstteradataclose:
					case ESqlStatementType.sstteradatacollectdemographics:
					case ESqlStatementType.sstteradataconnect:
					case ESqlStatementType.sstteradatacreatecast:
					case ESqlStatementType.sstteradatacreateauthorization:
					case ESqlStatementType.sstteradatacreateindex:
					case ESqlStatementType.sstteradatacreatemethod:
					case ESqlStatementType.sstteradatacreateordering:
					case ESqlStatementType.sstteradatacreateprofile:
					case ESqlStatementType.sstteradatacreatereplicationgroup:
					case ESqlStatementType.sstteradatacreatetransform:
					case ESqlStatementType.sstteradatadatabase:
					case ESqlStatementType.sstteradatadeclarecursor:
					case ESqlStatementType.sstteradatadeclarestatement:
					case ESqlStatementType.sstteradatadeclaretable:
					case ESqlStatementType.sstteradatadeletedatabase:
					case ESqlStatementType.sstteradatadeleteuser:
					case ESqlStatementType.sstteradatadescribe:
					case ESqlStatementType.sstteradatadiagnostic:
					case ESqlStatementType.sstteradatadropdbobject:
					case ESqlStatementType.sstteradatadropstatistics:
					case ESqlStatementType.sstteradatadumpexplain:
					case ESqlStatementType.sstteradataecho:
					case ESqlStatementType.sstteradataenddeclaresection:
					case ESqlStatementType.sstteradataendquerylogging:
					case ESqlStatementType.sstteradataexecuteimmediate:
					case ESqlStatementType.sstteradatagetcrash:
						goto IL_AD6;
					case ESqlStatementType.sstteradataalterprocedure:
					case ESqlStatementType.sstteradatacreateprocedure:
						goto IL_7B9;
					case ESqlStatementType.sstteradataaltertable:
						break;
					case ESqlStatementType.sstteradataaltertrigger:
					case ESqlStatementType.sstteradatacreatetrigger:
						goto IL_7D1;
					case ESqlStatementType.sstteradatabeginlogging:
						return new TTeradataBeginLogging(pdbvendor);
					case ESqlStatementType.sstteradatabegintransaction:
						return new TTeradataBeginTransaction(pdbvendor);
					case ESqlStatementType.sstteradatacall:
						return new TCallStatement(pdbvendor);
					case ESqlStatementType.sstteradatacollectstatistics:
						return new TTeradataCollectStatistics(pdbvendor);
					case ESqlStatementType.sstteradatacomment:
						return new TCommentOnSqlStmt(pdbvendor);
					case ESqlStatementType.sstteradatacommit:
						return new TTeradataCommit(pdbvendor);
					case ESqlStatementType.sstteradatacreatemacro:
						goto IL_AB2;
					case ESqlStatementType.sstteradatadropauthorization:
					case ESqlStatementType.sstteradatadropdatabase:
					case ESqlStatementType.sstteradatadropfunction:
					case ESqlStatementType.sstteradatadropuser:
					case ESqlStatementType.sstteradatadropcast:
					case ESqlStatementType.sstteradatadropordering:
					case ESqlStatementType.sstteradatadropprocedure:
					case ESqlStatementType.sstteradatadropprofile:
					case ESqlStatementType.sstteradatadropreplicationgroup:
					case ESqlStatementType.sstteradatadroprole:
					case ESqlStatementType.sstteradatadroptransform:
					case ESqlStatementType.sstteradatadroptrigger:
					case ESqlStatementType.sstteradatadroptype:
						tcustomSqlStatement = new TTeradataDropDbObject(EDbVendor.dbvteradata);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstteradatadropmacro:
						return new TDropMacro(pdbvendor);
					case ESqlStatementType.sstteradataendlogging:
						return new TTeradataEndLogging(pdbvendor);
					case ESqlStatementType.sstteradataendtransaction:
						return new TTeradataEndTransaction(pdbvendor);
					case ESqlStatementType.sstteradataexecute:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(psqlstatement))
						{
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert && psqlstatement.stmtDummyTag == 1)
							{
								flag = false;
								psqlstatement.stmtDummyTag = 0;
							}
							if (psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatagrant && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 423)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
							if ((psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreateprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatetrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstteradatacreatefunction || psqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterprocedure || psqlstatement.sqlstatementtype == ESqlStatementType.sstteradataaltertrigger || psqlstatement.sqlstatementtype == ESqlStatementType.sstteradataalterfunction) && TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 311)
								{
									flag = false;
								}
								else if (tsourceToken.tokentype == ETokenType.ttcomma)
								{
									flag = false;
								}
							}
						}
						if (flag)
						{
							return new TTeradataExecute(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstteradatafetch:
						return new TMssqlFetch(pdbvendor);
					case ESqlStatementType.sstteradatagive:
						return new TTeradataGive(pdbvendor);
					case ESqlStatementType.sstteradatagrant:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal && TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 311)
						{
							tcustomSqlStatement = null;
							flag = false;
						}
						if (flag)
						{
							tcustomSqlStatement = new TTeradataGrant(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							for (int i = posinlist + 1; i < container.size(); i++)
							{
								TSourceToken tsourceToken4 = container.get(i);
								if (!tsourceToken4.isnonsolidtoken())
								{
									if (tsourceToken4.tokencode == 463 || tsourceToken4.tokentype == ETokenType.ttsemicolon || tsourceToken4.tokencode == 512)
									{
										break;
									}
									tsourceToken4.tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
								}
							}
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					default:
						if (esqlStatementType != ESqlStatementType.sstteradatarenametable)
						{
							goto IL_AD6;
						}
						return new TRenameStmt(pdbvendor);
					}
					break;
				}
				return new TAlterTableStatement(pdbvendor);
			}
			switch (esqlStatementType)
			{
			case ESqlStatementType.sstteradatareplacefunction:
				goto IL_7C5;
			case ESqlStatementType.sstteradatareplacemacro:
				goto IL_AB2;
			case ESqlStatementType.sstteradatareplacemethod:
			case ESqlStatementType.sstteradatareplaceordering:
			case ESqlStatementType.sstteradatareplacetransform:
				goto IL_AD6;
			case ESqlStatementType.sstteradatareplaceprocedure:
				break;
			case ESqlStatementType.sstteradatareplacetrigger:
				goto IL_7D1;
			case ESqlStatementType.sstteradatareplaceview:
				goto IL_A87;
			default:
				if (esqlStatementType == ESqlStatementType.sstteradatarollback)
				{
					return new TTeradataRollback(pdbvendor);
				}
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstteradatasetrole:
					return new TTeradataSetRole(pdbvendor);
				case ESqlStatementType.sstteradatasetsessionaccount:
					goto IL_AD6;
				case ESqlStatementType.sstteradatasetsession:
					return new TTeradataSetSession(pdbvendor);
				case ESqlStatementType.sstteradatasettimezone:
					return new TTeradataSetTimezone(pdbvendor);
				default:
					goto IL_AD6;
				}
				break;
			}
			IL_7B9:
			return new TTeradataCreateProcedure(pdbvendor);
			IL_7C5:
			return new TTeradataCreateFunction(pdbvendor);
			IL_7D1:
			return new TTeradataCreateTrigger(pdbvendor);
			IL_A87:
			tcustomSqlStatement = new TCreateViewSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = ESqlStatementType.sstcreateview;
			return tcustomSqlStatement;
			IL_AB2:
			return new TTeradataCreateMacro(pdbvendor);
			IL_AD6:
			tcustomSqlStatement = new TTeradataNotImplement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x0600029B RID: 667 RVA: 0x002F697C File Offset: 0x002F4B7C
		internal virtual TCustomSqlStatement mapTeradataUsing(TSourceToken ptoken)
		{
			TCustomSqlStatement result = null;
			int posinlist = ptoken.posinlist;
			TSourceTokenList container = ptoken.container;
			for (int i = posinlist + 1; i < container.size(); i++)
			{
				TSourceToken tsourceToken = container.get(i);
				if (tsourceToken.tokencode == 303)
				{
					result = new TDeleteSqlStatement(EDbVendor.dbvteradata);
					this.gnewsqlstatementtype = ESqlStatementType.sstdelete;
					break;
				}
				if (tsourceToken.tokencode == 302)
				{
					result = new TInsertSqlStatement(EDbVendor.dbvteradata);
					this.gnewsqlstatementtype = ESqlStatementType.sstinsert;
					break;
				}
				if (tsourceToken.tokencode == 301)
				{
					result = new TSelectSqlStatement(EDbVendor.dbvteradata);
					this.gnewsqlstatementtype = ESqlStatementType.sstselect;
					break;
				}
				if (tsourceToken.tokencode == 304)
				{
					result = new TUpdateSqlStatement(EDbVendor.dbvteradata);
					this.gnewsqlstatementtype = ESqlStatementType.sstupdate;
					break;
				}
				if (tsourceToken.tokencode == 351)
				{
					result = new TTeradataBeginTransaction(EDbVendor.dbvteradata);
					this.gnewsqlstatementtype = ESqlStatementType.sstteradatabegintransaction;
					break;
				}
			}
			return result;
		}

		// Token: 0x0600029C RID: 668 RVA: 0x002F6A58 File Offset: 0x002F4C58
		internal virtual TCustomSqlStatement findcte(TSourceToken ptoken, EDbVendor pdbvendor)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			int posinlist = ptoken.posinlist;
			TSourceTokenList container = ptoken.container;
			for (int i = posinlist + 1; i < container.size(); i++)
			{
				TSourceToken tsourceToken = container.get(i);
				if (tsourceToken.tokencode == 341)
				{
					int num = 0;
					int j;
					for (j = i + 1; j < container.size(); j++)
					{
						tsourceToken = container.get(j);
						if (!tsourceToken.isnonsolidtoken())
						{
							if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
							{
								num++;
							}
							if (tsourceToken.tokentype == ETokenType.ttrightparenthesis)
							{
								num--;
							}
							if (num == 0 && tsourceToken.tokencode == 303)
							{
								tcustomSqlStatement = new TDeleteSqlStatement(pdbvendor);
								tcustomSqlStatement.isctequery = true;
								this.gnewsqlstatementtype = ESqlStatementType.sstdelete;
								break;
							}
							if (num == 0 && tsourceToken.tokencode == 418)
							{
								tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
								tcustomSqlStatement.isctequery = true;
								this.gnewsqlstatementtype = ESqlStatementType.sstmerge;
								break;
							}
							if (num == 0 && tsourceToken.tokencode == 302)
							{
								tcustomSqlStatement = new TInsertSqlStatement(pdbvendor);
								tcustomSqlStatement.isctequery = true;
								this.gnewsqlstatementtype = ESqlStatementType.sstinsert;
								tcustomSqlStatement.stmtDummyTag = 1;
								int k = tsourceToken.posinlist + 1;
								while (k < container.size() && (container.get(k).isnonsolidtoken() || (container.get(k).tokencode != 326 && container.get(k).tokencode != 463 && container.get(k).tokentype != ETokenType.ttsemicolon && container.get(k).tokencode != 301 && container.get(k).tokencode != 440 && container.get(k).tokencode != 439)))
								{
									k++;
								}
								if (k > container.size() - 1)
								{
									k = container.size() - 1;
								}
								for (int l = tsourceToken.posinlist + 1; l <= k; l++)
								{
									container.get(l).tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
								}
								break;
							}
							if (num == 0 && tsourceToken.tokencode == 301)
							{
								tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
								tcustomSqlStatement.isctequery = true;
								this.gnewsqlstatementtype = ESqlStatementType.sstselect;
								break;
							}
							if (num == 0 && tsourceToken.tokencode == 304)
							{
								tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
								tcustomSqlStatement.isctequery = true;
								tcustomSqlStatement.stmtDummyTag = 1;
								this.gnewsqlstatementtype = ESqlStatementType.sstupdate;
								break;
							}
						}
					}
					if (tcustomSqlStatement != null)
					{
						for (int k = posinlist + 1; k <= j; k++)
						{
							container.get(k).tokenstatus = ETokenStatus.tsignoredbygetrawstatement;
						}
						break;
					}
				}
			}
			return tcustomSqlStatement;
		}

		// Token: 0x0600029D RID: 669 RVA: 0x002F6CE9 File Offset: 0x002F4EE9
		internal virtual TCustomSqlStatement findMdxStmtBeginWithClause(TSourceToken ptoken, EDbVendor pdbvendor)
		{
			TMdxSelect tmdxSelect = new TMdxSelect(pdbvendor);
			tmdxSelect.isctequery = true;
			this.gnewsqlstatementtype = ESqlStatementType.sstmdxselect;
			return tmdxSelect;
		}

		// Token: 0x0600029E RID: 670 RVA: 0x002F6D04 File Offset: 0x002F4F04
		internal virtual TCustomSqlStatement isdb2sql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return tcustomSqlStatement;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (TBaseType.assigned(tcustomSqlStatement))
				{
					return tcustomSqlStatement;
				}
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 326)
			{
				return new TSelectSqlStatement(pdbvendor);
			}
			if (pcst.tokencode == 281)
			{
				return new TDb2DummyStmt(pdbvendor);
			}
			this.gnewsqlstatementtype = this.finddb2cmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType <= ESqlStatementType.sstdb2declarecursor)
			{
				if (esqlStatementType <= ESqlStatementType.sstsavepoint)
				{
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstinvalid:
						return null;
					case ESqlStatementType.sstselect:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							if (TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 342)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 354)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 353)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 352)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 427)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 341)
								{
									if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
									{
										flag = false;
									}
									if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
									{
										flag = false;
									}
								}
								if (flag && tsourceToken.tokencode == 339)
								{
									TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
									if (TBaseType.assigned(tsourceToken2) && tsourceToken2.tokencode == 342)
									{
										flag = false;
									}
								}
							}
							if (TBaseType.assigned(psqlstatement))
							{
								if (psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
								{
									flag = false;
								}
								else if (psqlstatement.sqlstatementtype == ESqlStatementType.sstselect && psqlstatement.isctequery)
								{
									flag = false;
								}
							}
						}
						if (flag)
						{
							return new TSelectSqlStatement(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstdelete:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							tsourceToken = container.solidtokenbefore(posinlist);
							if (TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 323)
							{
								flag = false;
							}
							TBaseType.assigned(psqlstatement);
						}
						if (flag)
						{
							return new TDeleteSqlStatement(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstupdate:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							tsourceToken = container.solidtokenbefore(posinlist);
							if (TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 323)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 306)
								{
									flag = false;
								}
							}
							TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
							if (TBaseType.assigned(tsourceToken3) && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
							{
								flag = false;
							}
							TBaseType.assigned(psqlstatement);
						}
						if (flag)
						{
							tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
							tcustomSqlStatement.stmtDummyTag = 1;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstinsert:
					{
						bool flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							TBaseType.assigned(psqlstatement);
						}
						if (flag)
						{
							return new TInsertSqlStatement(pdbvendor);
						}
						return tcustomSqlStatement;
					}
					case ESqlStatementType.sstcreatetable:
						return new TCreateTableSqlStatement(pdbvendor);
					case ESqlStatementType.sstcreateview:
						return new TCreateViewSqlStatement(pdbvendor);
					case ESqlStatementType.sstcreatedatabase:
						return new TCreateDatabaseSqlStatement(pdbvendor);
					case ESqlStatementType.sstcreateindex:
						return new TCreateIndexSqlStatement(pdbvendor);
					case ESqlStatementType.sstcreatematerializedview:
					case ESqlStatementType.sstcreatesequence:
					case ESqlStatementType.sstcreatesynonym:
					case ESqlStatementType.sstalterdatabase:
					case ESqlStatementType.sstalterindex:
					case ESqlStatementType.sstaltertrigger:
					case ESqlStatementType.sstalterview:
					case ESqlStatementType.sstdropschema:
					case ESqlStatementType.sstdropsequence:
					case ESqlStatementType.sstdropsynonym:
						goto IL_58C;
					case ESqlStatementType.sstaltertable:
						return new TAlterTableStatement(pdbvendor);
					case ESqlStatementType.sstaltersession:
						return new TAlterSessionStatement(pdbvendor);
					case ESqlStatementType.sstdropindex:
						return new TDropIndexSqlStatement(pdbvendor);
					case ESqlStatementType.sstdropview:
						return new TDropViewSqlStatement(pdbvendor);
					case ESqlStatementType.sstdroptable:
						return new TDropTableSqlStatement(pdbvendor);
					case ESqlStatementType.sstmerge:
						tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstTruncate:
						tcustomSqlStatement = new TTruncateStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					default:
						if (esqlStatementType == ESqlStatementType.sstRevoke)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstcommit:
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstrollback:
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstsavepoint:
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						default:
							goto IL_58C;
						}
						break;
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstdb2call)
					{
						return new TDb2CallStmt(pdbvendor);
					}
					if (esqlStatementType != ESqlStatementType.sstdb2connect)
					{
						if (esqlStatementType != ESqlStatementType.sstdb2declarecursor)
						{
							goto IL_58C;
						}
						return new TDb2DeclareCursorStatement(pdbvendor);
					}
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstdb2return)
			{
				if (esqlStatementType != ESqlStatementType.sstdb2execute && esqlStatementType != ESqlStatementType.sstdb2refreshtable)
				{
					if (esqlStatementType != ESqlStatementType.sstdb2return)
					{
						goto IL_58C;
					}
					return new TDb2ReturnStmt(pdbvendor);
				}
			}
			else
			{
				if (esqlStatementType == ESqlStatementType.sstdb2set)
				{
					return new TDb2SetVariableStmt(pdbvendor);
				}
				if (esqlStatementType != ESqlStatementType.sstdb2terminate)
				{
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstdb2createfunction:
						return new TDb2CreateFunction(pdbvendor);
					case ESqlStatementType.sstdb2createprocedure:
						return new TDb2CreateProcedure(pdbvendor);
					case ESqlStatementType.sstdb2createtrigger:
						return new TDb2CreateTrigger(pdbvendor);
					default:
						goto IL_58C;
					}
				}
			}
			return new TDb2DummyStmt(pdbvendor);
			IL_58C:
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x0600029F RID: 671 RVA: 0x002F72B4 File Offset: 0x002F54B4
		public virtual TCustomSqlStatement issql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			switch (pdbvendor)
			{
			case EDbVendor.dbvaccess:
				return this.ismssqlsql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvdb2:
				return this.isdb2sql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvgreenplum:
				return this.isgreenplum(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvhive:
				return this.ishive(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvimpala:
				return this.ishive(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvinformix:
				return this.isinformixsql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvmdx:
				return this.ismdxsql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvmysql:
				return this.ismysqlsql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvmssql:
				return this.ismssqlsql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvnetezza:
				return this.isnetezza(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvoracle:
				return this.isoraclesql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvpostgresql:
				return this.ispostgresql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvredshift:
				return this.isredshift(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvsybase:
				return this.issybasesql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvteradata:
				return this.isteradatasql(pcst, pdbvendor, pstate, psqlstatement);
			case EDbVendor.dbvsnowflake:
				return this.issnowflake(pcst, pdbvendor, pstate, psqlstatement);
			}
			return this.ismssqlsql(pcst, pdbvendor, pstate, psqlstatement);
		}

		// Token: 0x060002A0 RID: 672 RVA: 0x002F7420 File Offset: 0x002F5620
		internal virtual TCustomSqlStatement ismysqlsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return tcustomSqlStatement;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					tcustomSqlStatement = new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findcte(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findmysqlcmd(pcst);
			TSourceToken tsourceToken = container.solidtokenbefore(posinlist);
			if (this.gnewsqlstatementtype == ESqlStatementType.sstinvalid && pcst.tokencode == 307 && pcst.container.searchToken(310, "", pcst, 15) != null)
			{
				this.gnewsqlstatementtype = ESqlStatementType.sstcreateview;
			}
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			bool flag;
			if (esqlStatementType <= ESqlStatementType.sstmysqldroptable)
			{
				if (esqlStatementType <= ESqlStatementType.sstsavepoint)
				{
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstinvalid:
						return null;
					case ESqlStatementType.sstselect:
						flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							if (TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokentype == ETokenType.ttleftparenthesis)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 342)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 354)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 353)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 352)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 427)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 341)
								{
									if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreatetable)
									{
										flag = false;
									}
									if (psqlstatement.sqlstatementtype == ESqlStatementType.sstcreateview)
									{
										flag = false;
									}
								}
								if (flag && tsourceToken.tokencode == 339)
								{
									TSourceToken tsourceToken2 = container.solidtokenbefore(tsourceToken.posinlist);
									if (TBaseType.assigned(tsourceToken2) && tsourceToken2.tokencode == 342)
									{
										flag = false;
									}
								}
							}
							if (TBaseType.assigned(psqlstatement) && psqlstatement.sqlstatementtype == ESqlStatementType.sstinsert)
							{
								flag = false;
							}
						}
						if (flag)
						{
							return new TSelectSqlStatement(pdbvendor);
						}
						return tcustomSqlStatement;
					case ESqlStatementType.sstdelete:
						flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							tsourceToken = container.solidtokenbefore(posinlist);
							if (TBaseType.assigned(tsourceToken) && tsourceToken.tokencode == 323)
							{
								flag = false;
							}
							TBaseType.assigned(psqlstatement);
						}
						if (flag)
						{
							return new TDeleteSqlStatement(pdbvendor);
						}
						return tcustomSqlStatement;
					case ESqlStatementType.sstupdate:
						flag = true;
						if (pstate != EFindSqlStateType.stnormal)
						{
							tsourceToken = container.solidtokenbefore(posinlist);
							if (TBaseType.assigned(tsourceToken))
							{
								if (tsourceToken.tokencode == 323)
								{
									flag = false;
								}
								else if (tsourceToken.tokencode == 306)
								{
									flag = false;
								}
							}
							TSourceToken tsourceToken3 = container.nextsolidtoken(posinlist, 1, false);
							if (TBaseType.assigned(tsourceToken3) && tsourceToken3.tokentype == ETokenType.ttleftparenthesis && container.solidtokenafterpos(tsourceToken3.posinlist, 301, 1, "(") == 0)
							{
								flag = false;
							}
							TBaseType.assigned(psqlstatement);
						}
						if (flag)
						{
							tcustomSqlStatement = new TUpdateSqlStatement(pdbvendor);
							tcustomSqlStatement.stmtDummyTag = 1;
							return tcustomSqlStatement;
						}
						return tcustomSqlStatement;
					case ESqlStatementType.sstinsert:
						goto IL_385;
					case ESqlStatementType.sstcreatetable:
						return new TCreateTableSqlStatement(pdbvendor);
					case ESqlStatementType.sstcreateview:
						return new TCreateViewSqlStatement(pdbvendor);
					case ESqlStatementType.sstcreatedatabase:
						return new TCreateDatabaseSqlStatement(pdbvendor);
					case ESqlStatementType.sstcreateindex:
					case ESqlStatementType.sstcreatematerializedview:
					case ESqlStatementType.sstcreatesequence:
					case ESqlStatementType.sstcreatesynonym:
					case ESqlStatementType.sstalterdatabase:
					case ESqlStatementType.sstalterindex:
					case ESqlStatementType.sstaltertrigger:
					case ESqlStatementType.sstalterview:
					case ESqlStatementType.sstdropschema:
					case ESqlStatementType.sstdropsequence:
					case ESqlStatementType.sstdropsynonym:
					case ESqlStatementType.sstTruncate:
						goto IL_5F4;
					case ESqlStatementType.sstaltertable:
						return new TAlterTableStatement(pdbvendor);
					case ESqlStatementType.sstaltersession:
						return new TAlterSessionStatement(pdbvendor);
					case ESqlStatementType.sstdropindex:
						return new TDropIndexSqlStatement(pdbvendor);
					case ESqlStatementType.sstdropview:
						return new TDropViewSqlStatement(pdbvendor);
					case ESqlStatementType.sstdroptable:
						break;
					case ESqlStatementType.sstmerge:
						tcustomSqlStatement = new TMergeSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					case ESqlStatementType.sstdescribe:
						return new TDescribeStmt(pdbvendor);
					default:
						if (esqlStatementType == ESqlStatementType.sstRevoke)
						{
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						}
						switch (esqlStatementType)
						{
						case ESqlStatementType.sstcommit:
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstrollback:
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						case ESqlStatementType.sstsavepoint:
							tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
							tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
							return tcustomSqlStatement;
						default:
							goto IL_5F4;
						}
						break;
					}
				}
				else if (esqlStatementType <= ESqlStatementType.sstmysqlcreatetrigger)
				{
					if (esqlStatementType == ESqlStatementType.sstmysqlcall)
					{
						return new TMySQLCallStmt(pdbvendor);
					}
					switch (esqlStatementType)
					{
					case ESqlStatementType.sstmysqlcreatedatabase:
						return new TCreateDatabaseSqlStatement(pdbvendor);
					case ESqlStatementType.sstmysqlcreateindex:
						return new TCreateIndexSqlStatement(pdbvendor);
					case ESqlStatementType.sstmysqlcreatefunction:
						return new TMySQLCreateFunction(pdbvendor);
					case ESqlStatementType.sstmysqlcreateprocedure:
						return new TMySQLCreateProcedure(pdbvendor);
					case ESqlStatementType.sstmysqlcreatetrigger:
						return new TMySQLCreateTrigger(pdbvendor);
					default:
						goto IL_5F4;
					}
				}
				else
				{
					if (esqlStatementType == ESqlStatementType.sstmysqldropindex)
					{
						return new TDropIndexSqlStatement(pdbvendor);
					}
					if (esqlStatementType != ESqlStatementType.sstmysqldroptable)
					{
						goto IL_5F4;
					}
				}
				return new TDropTableSqlStatement(pdbvendor);
			}
			if (esqlStatementType <= ESqlStatementType.sstmysqlset)
			{
				if (esqlStatementType == ESqlStatementType.sstmysqlprepare)
				{
					return new TMySQLPrepareStmt(pdbvendor);
				}
				if (esqlStatementType != ESqlStatementType.sstmysqlreplace)
				{
					if (esqlStatementType != ESqlStatementType.sstmysqlset)
					{
						goto IL_5F4;
					}
					return new TMySQLSet(pdbvendor);
				}
			}
			else if (esqlStatementType <= ESqlStatementType.sstmysqltruncate)
			{
				if (esqlStatementType != ESqlStatementType.sstmysqlstarttransaction)
				{
					if (esqlStatementType != ESqlStatementType.sstmysqltruncate)
					{
						goto IL_5F4;
					}
					return new TTruncateStatement(pdbvendor);
				}
				else
				{
					if (pstate == EFindSqlStateType.stnormal)
					{
						tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
						tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
						return tcustomSqlStatement;
					}
					return tcustomSqlStatement;
				}
			}
			else
			{
				if (esqlStatementType == ESqlStatementType.sstmysqluse)
				{
					return new TUseDatabase(pdbvendor);
				}
				if (esqlStatementType != ESqlStatementType.sstmysqlsignal)
				{
					goto IL_5F4;
				}
				return new TMySQLSignal(pdbvendor);
			}
			IL_385:
			flag = true;
			if (pstate != EFindSqlStateType.stnormal)
			{
				TBaseType.assigned(psqlstatement);
			}
			if (flag)
			{
				tcustomSqlStatement = new TInsertSqlStatement(pdbvendor);
			}
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
			IL_5F4:
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x060002A1 RID: 673 RVA: 0x002F7A38 File Offset: 0x002F5C38
		internal virtual TCustomSqlStatement ismdxsql(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 311)
			{
				tcustomSqlStatement = this.findMdxStmtBeginWithClause(pcst, pdbvendor);
				if (tcustomSqlStatement != null)
				{
					return tcustomSqlStatement;
				}
			}
			this.gnewsqlstatementtype = this.findmdxcmd(pcst);
			container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			if (esqlStatementType != ESqlStatementType.sstinvalid)
			{
				switch (esqlStatementType)
				{
				case ESqlStatementType.sstmdxselect:
				{
					bool flag = true;
					if (pstate != EFindSqlStateType.stnormal && psqlstatement.sqlstatementtype == ESqlStatementType.sstselect && psqlstatement.isctequery)
					{
						flag = false;
					}
					if (flag)
					{
						return new TMdxSelect(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstmdxupdate:
				{
					bool flag2 = true;
					if (pstate != EFindSqlStateType.stnormal)
					{
						container.solidtokenbefore(posinlist);
						container.nextsolidtoken(posinlist, 1, false);
					}
					if (flag2)
					{
						return new TMdxUpdate(pdbvendor);
					}
					return tcustomSqlStatement;
				}
				case ESqlStatementType.sstmdxcall:
					return new TMdxCall(pdbvendor);
				case ESqlStatementType.sstmdxclearcalculations:
					return new TMdxClearCalculations(pdbvendor);
				case ESqlStatementType.sstmdxdrillthrough:
					return new TMdxDrillthrough(pdbvendor);
				case ESqlStatementType.sstmdxaltercube:
					return new TMdxAlterCube(pdbvendor);
				case ESqlStatementType.sstmdxcreateaction:
					return new TMdxCreateAction(pdbvendor);
				case ESqlStatementType.sstmdxcreatecellcalculation:
					return new TMdxCreateCellCalculation(pdbvendor);
				case ESqlStatementType.sstmdxcreateglobalcube:
					return new TMdxCreateGlobalCube(pdbvendor);
				case ESqlStatementType.sstmdxcreatemember:
					return new TMdxCreateMember(pdbvendor);
				case ESqlStatementType.sstmdxcreatesessioncube:
					return new TMdxCreateSessionCube(pdbvendor);
				case ESqlStatementType.sstmdxcreateset:
					return new TMdxCreateSet(pdbvendor);
				case ESqlStatementType.sstmdxcreatesubcube:
					return new TMdxCreateSubCube(pdbvendor);
				case ESqlStatementType.sstmdxdropaction:
					return new TMdxDropAction(pdbvendor);
				case ESqlStatementType.sstmdxdropcellcalculation:
					return new TMdxDropCellCalculation(pdbvendor);
				case ESqlStatementType.sstmdxdropmember:
					return new TMdxDropMember(pdbvendor);
				case ESqlStatementType.sstmdxdropset:
					return new TMdxDropSet(pdbvendor);
				case ESqlStatementType.sstmdxdropsubcube:
					return new TMdxDropSubcube(pdbvendor);
				case ESqlStatementType.sstmdxrefreshcube:
					return new TMdxRefreshCube(pdbvendor);
				case ESqlStatementType.sstmdxcalculate:
					return new TMdxCalculate(pdbvendor);
				case ESqlStatementType.sstmdxcase:
					return new TMdxCase(pdbvendor);
				case ESqlStatementType.sstmdxfreeze:
					return new TMdxFreeze(pdbvendor);
				case ESqlStatementType.sstmdxif:
					return new TMdxIf(pdbvendor);
				case ESqlStatementType.sstmdxscope:
					return new TMdxScope(pdbvendor);
				}
				tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
				tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			}
			else
			{
				tcustomSqlStatement = null;
				if (pstate == EFindSqlStateType.stnormal)
				{
					tcustomSqlStatement = new TMdxExpression(EDbVendor.dbvmdx);
				}
			}
			return tcustomSqlStatement;
		}

		// Token: 0x060002A2 RID: 674 RVA: 0x002F7CC4 File Offset: 0x002F5EC4
		public virtual ESqlStatementType findsybasecmdusedbyyacc(TSourceToken pcst)
		{
			ESqlStatementType esqlStatementType = ESqlStatementType.sstinvalid;
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					esqlStatementType = ESqlStatementType.sstselect;
				}
				return esqlStatementType;
			}
			esqlStatementType = this.findsybasecmd(pcst);
			if (esqlStatementType == ESqlStatementType.sstmssqlexec)
			{
				esqlStatementType = ESqlStatementType.sstinvalid;
			}
			return esqlStatementType;
		}

		// Token: 0x060002A3 RID: 675 RVA: 0x002F7D18 File Offset: 0x002F5F18
		public virtual ESqlStatementType findmssqlcmdusedbyyacc(TSourceToken pcst)
		{
			ESqlStatementType esqlStatementType = ESqlStatementType.sstinvalid;
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pcst.tokentype == ETokenType.ttleftparenthesis)
			{
				if (container.solidtokenafterpos(posinlist, 301, 1, "(") > 0)
				{
					esqlStatementType = ESqlStatementType.sstselect;
				}
				return esqlStatementType;
			}
			esqlStatementType = this.findmssqlcmd(pcst);
			if (esqlStatementType == ESqlStatementType.sstmssqlexec)
			{
				esqlStatementType = ESqlStatementType.sstinvalid;
			}
			return esqlStatementType;
		}

		// Token: 0x060002A4 RID: 676 RVA: 0x002F7D6C File Offset: 0x002F5F6C
		internal virtual TCustomSqlStatement ishive(TSourceToken pcst, EDbVendor pdbvendor, EFindSqlStateType pstate, TCustomSqlStatement psqlstatement)
		{
			TCustomSqlStatement tcustomSqlStatement = null;
			this.gnewsqlstatementtype = ESqlStatementType.sstinvalid;
			if (pcst.tokencode == 258 || pcst.tokencode == 257 || pcst.tokencode == 259 || pcst.tokencode == 260 || pcst.tokentype == ETokenType.ttsemicolon)
			{
				return null;
			}
			int posinlist = pcst.posinlist;
			TSourceTokenList container = pcst.container;
			if (pstate == EFindSqlStateType.stnormal && pcst.tokencode == 329)
			{
				return new THiveFromQuery(pdbvendor);
			}
			this.gnewsqlstatementtype = this.findhivecmd(pcst);
			container.solidtokenbefore(posinlist);
			ESqlStatementType esqlStatementType = this.gnewsqlstatementtype;
			switch (esqlStatementType)
			{
			case ESqlStatementType.sstinvalid:
				return null;
			case ESqlStatementType.sstselect:
			{
				bool flag = true;
				if (pstate != EFindSqlStateType.stnormal && psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery)
				{
					flag = false;
				}
				if (flag)
				{
					return new TSelectSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			case ESqlStatementType.sstdelete:
			case ESqlStatementType.sstupdate:
			case ESqlStatementType.sstcreatematerializedview:
			case ESqlStatementType.sstcreatesequence:
			case ESqlStatementType.sstcreatesynonym:
			case ESqlStatementType.sstaltersession:
			case ESqlStatementType.sstaltertrigger:
			case ESqlStatementType.sstdropschema:
			case ESqlStatementType.sstdropsequence:
			case ESqlStatementType.sstdropsynonym:
			case ESqlStatementType.sstmerge:
				break;
			case ESqlStatementType.sstinsert:
			{
				bool flag2 = true;
				if (pstate != EFindSqlStateType.stnormal && psqlstatement != null && psqlstatement.sqlstatementtype == ESqlStatementType.ssthiveFromQuery)
				{
					flag2 = false;
				}
				if (flag2)
				{
					return new TInsertSqlStatement(pdbvendor);
				}
				return tcustomSqlStatement;
			}
			case ESqlStatementType.sstcreatetable:
				return new TCreateTableSqlStatement(pdbvendor);
			case ESqlStatementType.sstcreateview:
				return new TCreateViewSqlStatement(pdbvendor);
			case ESqlStatementType.sstcreatedatabase:
				return new TCreateDatabaseSqlStatement(pdbvendor);
			case ESqlStatementType.sstcreateindex:
				return new TCreateIndexSqlStatement(pdbvendor);
			case ESqlStatementType.sstaltertable:
				return new TAlterTableStatement(pdbvendor);
			case ESqlStatementType.sstalterdatabase:
				return new TAlterDatabaseStmt(pdbvendor);
			case ESqlStatementType.sstalterindex:
				return new TAlterIndexStmt(pdbvendor);
			case ESqlStatementType.sstalterview:
				return new TAlterViewStatement(pdbvendor);
			case ESqlStatementType.sstdropindex:
				return new TDropIndexSqlStatement(pdbvendor);
			case ESqlStatementType.sstdropview:
				return new TDropViewSqlStatement(pdbvendor);
			case ESqlStatementType.sstdroptable:
				return new TDropTableSqlStatement(pdbvendor);
			case ESqlStatementType.sstTruncate:
				return new TTruncateStatement(pdbvendor);
			default:
				switch (esqlStatementType)
				{
				case ESqlStatementType.ssthiveExplain:
					return new THiveExplain(pdbvendor);
				case ESqlStatementType.ssthiveLoad:
					return new THiveLoad(pdbvendor);
				case ESqlStatementType.ssthiveExportTable:
					return new THiveExportTable(pdbvendor);
				case ESqlStatementType.ssthiveImportTable:
					return new THiveImportTable(pdbvendor);
				case ESqlStatementType.ssthiveSwitchDatabase:
					return new THiveSwitchDatabase(pdbvendor);
				case ESqlStatementType.ssthiveDropDatabase:
					return new THiveDropDatabase(pdbvendor);
				case ESqlStatementType.ssthiveDesc:
					return new THiveDescribe(pdbvendor);
				case ESqlStatementType.ssthiveShow:
					return new THiveShow(pdbvendor);
				case ESqlStatementType.ssthiveMetaStoreCheck:
					return new THiveMetaStoreCheck(pdbvendor);
				case ESqlStatementType.ssthiveAnalyzeTable:
					return new THiveAnalyzeTable(pdbvendor);
				case ESqlStatementType.ssthiveLockTable:
					return new THiveLockTable(pdbvendor);
				case ESqlStatementType.ssthiveUnlockTable:
					return new THiveUnlockTable(pdbvendor);
				case ESqlStatementType.ssthiveCreateRole:
					return new THiveCreateRole(pdbvendor);
				case ESqlStatementType.ssthiveDropRole:
					return new THiveDropRole(pdbvendor);
				case ESqlStatementType.ssthiveGrant:
					return new THiveGrant(pdbvendor);
				case ESqlStatementType.ssthiveRevoke:
					return new THiveRevoke(pdbvendor);
				case ESqlStatementType.ssthiveShowGrants:
					return new THiveShowGrant(pdbvendor);
				case ESqlStatementType.ssthiveShowRoleGrants:
					return new THiveShowRoleGrant(pdbvendor);
				case ESqlStatementType.ssthiveGrantRole:
					return new THiveGrantRole(pdbvendor);
				case ESqlStatementType.ssthiveRevokeRole:
					return new THiveRevokeRole(pdbvendor);
				case ESqlStatementType.ssthiveCreateFunction:
					return new THiveCreateFunction(pdbvendor);
				case ESqlStatementType.ssthiveDropFunciton:
					return new THiveDropFunction(pdbvendor);
				case ESqlStatementType.ssthiveSet:
					return new THiveSet(pdbvendor);
				}
				break;
			}
			tcustomSqlStatement = new TUnknownSqlStatement(pdbvendor);
			tcustomSqlStatement.sqlstatementtype = this.gnewsqlstatementtype;
			return tcustomSqlStatement;
		}

		// Token: 0x04001063 RID: 4195
		internal ArrayList mssqlcmds;

		// Token: 0x04001064 RID: 4196
		internal ArrayList oraclecmds;

		// Token: 0x04001065 RID: 4197
		internal ArrayList db2cmds;

		// Token: 0x04001066 RID: 4198
		internal ArrayList mysqlcmds;

		// Token: 0x04001067 RID: 4199
		internal ArrayList accesscmds;

		// Token: 0x04001068 RID: 4200
		internal ArrayList mdxcmds;

		// Token: 0x04001069 RID: 4201
		internal ArrayList teradatacmds;

		// Token: 0x0400106A RID: 4202
		internal ArrayList postgresqlcmds;

		// Token: 0x0400106B RID: 4203
		internal ArrayList netezzacmds;

		// Token: 0x0400106C RID: 4204
		internal ArrayList sybasecmds;

		// Token: 0x0400106D RID: 4205
		internal ArrayList informixcmds;

		// Token: 0x0400106E RID: 4206
		internal ArrayList hivecmds;

		// Token: 0x0400106F RID: 4207
		internal ArrayList greenplumcmds;

		// Token: 0x04001070 RID: 4208
		internal ArrayList redshiftcmds;

		// Token: 0x04001071 RID: 4209
		internal ArrayList snowflakecmds;

		// Token: 0x04001072 RID: 4210
		internal ESqlStatementType gnewsqlstatementtype;

		// Token: 0x02000432 RID: 1074
		internal class TSqlCmd
		{
			// Token: 0x06002959 RID: 10585 RVA: 0x0033E303 File Offset: 0x0033C503
			public TSqlCmd(TSqlCmds outerInstance)
			{
				this.outerInstance = outerInstance;
			}

			// Token: 0x0600295A RID: 10586 RVA: 0x0033E312 File Offset: 0x0033C512
			public virtual void TSqlCmd_Renamed()
			{
			}

			// Token: 0x04001EBC RID: 7868
			private readonly TSqlCmds outerInstance;

			// Token: 0x04001EBD RID: 7869
			internal int token1;

			// Token: 0x04001EBE RID: 7870
			internal string token2;

			// Token: 0x04001EBF RID: 7871
			internal string token3;

			// Token: 0x04001EC0 RID: 7872
			internal string token4;

			// Token: 0x04001EC1 RID: 7873
			internal string token5;

			// Token: 0x04001EC2 RID: 7874
			internal string token6;

			// Token: 0x04001EC3 RID: 7875
			internal string token7;

			// Token: 0x04001EC4 RID: 7876
			internal ESqlStatementType sqlstatementtype;
		}
	}
}
